相关疑难解决方法(0)

如何在不使用api资源管理器的情况下使用以前使用的权限获取新的"短期"facebook访问令牌(服务器端)?

介绍


我有一个Facebook粉丝页面,我正在发布更新.要做到这一点,我正在使用一个长期存取的访问令牌,该令牌每60天到期并具有权限:'manage_pages'和'publish_stream'.

经过研究,我发现没有" 这就是它 "的解决方案,所以我创建了一个描述我的问题的新帖子,同时将我发现的所有内容链接到摘要.它变得有点大了(我的道歉).

要获得短期访问令牌,我通常按照此处所述的步骤操作.

  • 转到https://developers.facebook.com/tools/explorer/,然后从左侧的第一个下拉菜单中选择您的应用.
  • 单击"获取访问令牌"按钮,在"选择权限"窗口中,单击"扩展权限"并检查manage_pages和publish_stream,然后单击"获取访问令牌"蓝色按钮.
  • 在此步骤中,系统可能会要求您为应用添加访问Facebook帐户的权限,接受.
  • 接下来,单击"GET"下拉列表旁边的文本字段末尾,并替换:me/accounts的数字,然后单击此文本字段旁边的蓝色按钮.
  • 您将获得所有页面的令牌,包括您的应用页面.在列表中找到您的页面名称,如下所示:"name":"您的页面名称"
  • 找到页面后,复制页面的访问令牌(会很长),如下所示:"access_token":"XXXXXXXX".同时复制页面的ID:"id":"XXXXX".

运用

https://graph.facebook.com/oauth/access_token?
    client_id=[clientid]
    &client_secret=[clientsecret]
    &grant_type=fb_exchange_token
    &fb_exchange_token=[shortlivedaccesstoken]
Run Code Online (Sandbox Code Playgroud)

例如,在浏览器中或通过curl请求,我将返回60天的长期访问令牌.(来源)

正如Facebook API文档所描述的那样,长期访问令牌无法刷新.当然,我可以使用上面的端点刷新令牌,并获得一个新的长期令牌,返回相同的到期日期.

编辑:要在粉丝页面墙上创建一个帖子(作为页面用户),我正在做某事.像这样:

$this->fb = new Facebook(array(
    'appId' => [app-id],
    'secret' => [app-secret]
));

//~Get data from DB here~

//~some error handling in case data fetching failed~


$fbToken = '';
$fbToken = *[facebook access token]*;

$mediaData = array(
    'picture' => [picture-url],
    'message' => [message], …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api facebook-php-sdk facebook-access-token

5
推荐指数
1
解决办法
2729
查看次数

扩展 Facebook Open Graph 令牌以发布到页面

我正在使用本教程(来自该页面的第一个答案)。

简而言之,它使用 FB 应用程序和 PHP CURL GET 通过 HTTP 发布到您的 Facebook 页面。我已经让它工作了,并且可以使用正确的令牌发布到我的页面(作为我的页面)。

但是,页面访问令牌只能持续一个小时,这意味着您必须通过生成新令牌不断地重新授权。我如何设置并忘记,或以其他方式扩展我的令牌?我已阅读 facebook 文档,但无法将其应用到我的场景中。

我只想授权一次,接收令牌并让我的网络表单能够发布到我的页面。

php curl facebook-graph-api facebook-opengraph

3
推荐指数
1
解决办法
4093
查看次数