7

目前我正在使用桌面 Windows 服务来下载我的 Facebook 页面见解/页面喜欢/朋友等图形数据。因此,为此我在我的 facebook 页面上添加了应用程序并生成了完全权限的离线访问令牌。所以,使用它,我正在从去年正确下载我的 Facebook 页面见解。
但是,由于 Facebook 弃用了离线访问令牌。请任何人都可以帮助我如何生成具有完全权限的访问令牌以在不登录的情况下下载我的页面洞察数据(无需任何用户/用户界面对话框(允许等))。

现在,我正在尝试并通过一些 api 来生成访问令牌,如下所示: - https://graph.facebook.com/oauth/access_token?client_id=xxxx&client_secret=xxxxx&grant_type=client_credentials

但是,使用上面的调用我得到访问令牌(短长度令牌) - 例如: -

123484913842345|jkioEjsRAhFrNdertg9zuxPiopl

尝试查看图形数据时使用上述访问令牌出现以下错误:-

{"error": {"message": "Unsupported get request.","type": "GraphMethodException","code": 100  }}

但是,我发现这个访问令牌没有完整的权限并且寿命也很短。

当我使用旧的离线访问令牌时,它会正确响应。(此令牌将在一段时间后关闭)。因此,要生成具有大约 60 天寿命的相同类型的访问令牌。请帮助我。我如何生成具有完整权限且长度为 110 个字符的访问令牌。另外,我正在使用 Windows 服务,所以任何人都可以帮助解决如何在不登录的情况下生成访问令牌(用户/UI 活动)

4

2 回答 2

3

要解决此问题,您需要扩展短期令牌。

您还可以在没有任何用户交互的情况下调试访问令牌,以查看扩展访问令牌的操作是否有效。

这个链接是关于离线访问过期的一个很好的参考。

当您使用此 url 调试访问令牌时:

https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN

INPUT_TOKEN是用户访问令牌

ACCESS_TOKEN123是应用abc访问令牌,形成如下: APP_ID|APP_SECRET123|abc

于 2013-03-03T16:44:53.387 回答
0

简单的解决方案只需使用 PHP SDK 调用以下函数

$facebook->setExtendedAccessToken();

并通过它获得扩展访问令牌之后

$access_token = $facebook->getAccessToken();

或者

GET /oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id={app-id}&
    client_secret={app-secret}&
    fb_exchange_token={short-lived-token} 
于 2013-08-07T02:38:08.650 回答