FB 图 api returns short lived token 而不是 long lived token

FB graph api returns short lived token instead of long lived token

我正在尝试为不会过期的页面获取长期有效的令牌。为此,我首先获得长期存在的用户访问令牌。一旦我的应用程序拥有它,它就会使用以下代码调用以获取页面令牌:

var URL = "/PAGE_ID/?fields=access_token=LONG_USER_ACCESS_TOKEN";
FB.api(URL, function(response) {
}

返回的令牌虽然是短暂的。 但是,如果我使用相同的 URL 并使用 FB Graph API Explorer 调用它,我收到的令牌是长令牌。

我不确定为什么当我使用 FB.api(){} 调用时相同的 URL 会生成一个短令牌,而当我使用 FB 图表对其进行测试时会生成一个长令牌API 资源管理器。

var URL = "/PAGE_ID/?fields=access_token=LONG_USER_ACCESS_TOKEN";

您在这里根本没有传递访问令牌。您正在做的是传递名为 fields 一个 参数,其值为 access_token=LONG_USER_ACCESS_TOKEN

您想传递一个参数 named fieldsvalue access_token,以及一个参数 named access_token 机智 value LONG_USER_ACCESS_TOKEN - 所以 URL 当然必须看起来像这样:

var URL = "/PAGE_ID/?fields=access_token&access_token=LONG_USER_ACCESS_TOKEN";