如何使用PHP发布到Facebook页面

Lar*_*i13 12 php facebook facebook-graph-api access-token

我想使用PHP从我的网站发布到我自己的Facebook页面墙.

我有以下内容:

  • Facebook应用程序与AppID,AppSecret,ApiKey
  • 带有PageID的Facebook页面
  • 我自己的Facebook帐户 - 我是上面提到的应用程序和页面的管理员和创建者.

例如,我写了一篇博文,我想在Facebook页面的墙上找到名字,简短说明和图片.或者我想每天在Facebook页面上自动发布一些文章作为cron作业.

你能提供一步一步的教程如何实现这一目标吗?

我已经阅读了关于Facebook登录的这篇文章:
https://developers.facebook.com/docs/facebook-login/
但我仍然不知道在我的代码中要写什么.


更新1

这是我发送App Access Token请求的方式:

$url = 'https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id='
        .Yii::app()->params['FacebookAppID']
        .'&client_secret='
        .Yii::app()->params['FacebookSecret'];
Run Code Online (Sandbox Code Playgroud)

响应类似于此(假符号):

access_token=326584076429|ax3-D39YbpDcR9rMRQn_fMvNu_s

access_token是什么?应用程序访问令牌?如何获取用户访问令牌?

我试图从这里使用访问令牌:
https://developers.facebook.com/tools/explorer?method = GET&path = me%2Faccounts 但我收到以下错误消息:

必须使用活动访问令牌来查询有关当前用户的信息

那么我应该如何获得正确的访问令牌?

更新2:

如何在没有任何客户端交互的情况下在我的应用程序中获得正确的Facebook令牌?
我是Facebook应用程序和Facebook页面的管理员和创建者.

DMC*_*MCS 9

一步步

  1. 验证作为页面管理员的用户(您自己)
  2. 请求扩展访问令牌(以获得60天的变化,因为offline_access已经消失).请参阅https://developers.facebook.com/docs/offline-access-deprecation/
  3. 调用Graph API me/accounts并搜索结果列表以查找您感兴趣的页面
  4. 从页面中获取页面访问令牌,然后开始使用该令牌进行发布
  5. 有可能为步骤2中描述的页面访问令牌获取扩展访问令牌,请尝试告诉我们是否也可以对页面访问令牌执行此操作.

您可以在https://developers.facebook.com/tools/explorer上试验上述内容

快乐的编码!

编辑

要获取没有任何用户对话框的访问令牌,您可以使用https://developers.facebook.com/tools/access_token/来获取访问令牌.

  • 60天后,Facebook要求用户与您的应用重新互动.不要开枪,我只是在读他们写的东西.从他们的文档:"如果您想要续订仍然有效的access_token,您必须首先获得一个新的客户端访问令牌,然后在下面调用相同的端点.应用程序将无法设置后台/ cron作业,尝试自动延长到期时间,因为"授权代码"是短暂的并且已经过期." (3认同)