gpt4 book ai didi

php - 作为页面管理员使用 PHP 发布到 Facebook 页面

转载 作者:行者123 更新时间:2023-12-02 03:41:14 24 4
gpt4 key购买 nike

首先,我知道有一百万个与此类似的问题,但它们要么已经过时(Facebook 已更改,说明不再有效),要么没有解释如何具体执行我的要求。

我正在尝试在 Facebook 上注册一个应用程序,以便我可以自动发布到公司的 Facebook 页面,我是该页面的管理员。

我正在尝试通过 PHP 执行此操作,我对此有丰富的经验(PHP,而不是 Facebook API。)

至此我已经注册成为Facebook开发者,做了一个Facebook应用,拿到了appID和secret word,并从Github上下载了facebook-php-sdk。我已尝试按照几个教程进行操作,但 Facebook 开发人员/应用程序页面已全部更改,因此说明现在无效。

我想要做的就是能够通过 PHP 从服务器自动发布到我的页面墙上,就像我作为页面管理员自己发布状态更新一样。我不明白这为何如此困难。

Facebook 应用程序页面有一百万个设置,我从未听说过,似乎也不相关,因此没有任何信息可以指导我做我想做的事情。

这大概是我所知道的,但我碰壁了。不知道下一步该做什么。 Facebook 一直问我“选择你的应用程序如何与 Facebook 集成”,但他们的选项似乎没有包括我想要的,这只是在我自己的页面上发布。我似乎还不能真正使用该应用程序,因为它坚持执行各种设置,例如我不理解的“Canvas URL”等,然后我显然需要设置权限,但我明白了也没有办法做到这一点。

我该怎么办?

最佳答案

设置应用

您将需要对在您的页面上至少拥有内容创建者权限的用户进行身份验证。因此,您需要选择“使用 Facebook 登录的网站”并输入您的网站网址。您还必须输入域(没有协议(protocol)的网站 url)在测试时将其保持在沙盒模式,您可以稍后对其进行编辑。

您真的不必担心其他设置,因为可以直接在您的 php 代码中添加请求权限。

“在线”访问

要登录并直接发布到 Facebook,您需要检索访问 token

获取访问 token

这是一个基本的总结:

  • 让用户登录并允许应用具有适当的权限(manage_pages、publish_stream),如果他还没有的话
  • 检索用户访问 token
  • 使用用户访问 token 查询/me/accounts 以获取页面 ID 和访问 token

然后您所要做的就是使用 id 和访问 token 进行 API 调用以在 facebook 上发布

“离线”访问

为了无需登录即可发帖(如果您不是唯一发帖的人,这很有用),您需要一个永久扩展 token 。所以你基本上应该有一个单独的脚本,你将运行一次来​​检索扩展 token 并存储它。

获取扩展访问 token

为了能够在用户未登录的情况下发帖,您的页面需要一个永久访问 token 。

这是一个基本的总结:

  • 让用户允许具有适当权限的应用(manage_pages、publish_stream)
  • 检索用户访问 token
  • 更改用户访问 token 以扩展用户访问 token

这是我执行此步骤的方法(您也可以使用 curl)

$token_url = "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUT_APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=OLD_TOKEN";
$accessToken = @file_get_contents($token_url);

然后

  • 使用用户扩展访问 token 查询/me/accounts 以获取页面
  • 更改扩展访问 token 的页面访问 token (与以上)

(根据文档,最后一步应该不是必需的,因为当您使用扩展用户 token 查询/me/accounts 时,您应该获得扩展页面 token ,但在我的情况下它不起作用)

并且您将获得一个永久访问 token ,该 token 仅在用户更改密码或禁止该应用程序时才会过期。您所要做的就是将它与页面的 ID 一起存储,并在您需要 API 调用以发布到 Facebook 的任何地方检索它。

php sdk 有很好的文档记录,因此您不会遇到任何谷歌搜索无法解决的问题。查找 2012 年 9 月后的线程,因为 php sdk 也没有太大变化,所以流程没有改变。

关于php - 作为页面管理员使用 PHP 发布到 Facebook 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19907752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com