【问题标题】:Automatically post on wall - Facebook Graph API PHP SDK v4自动上墙 - Facebook Graph API PHP SDK v4
【发布时间】:2014-06-25 22:48:23
【问题描述】:

我正在为一个活动构建一个应用程序,以便他们可以直接在 facebook 上发布他们的新闻消息。我正在尝试为此使用de php SDK V4,但是登录过程的某些部分我不明白(搜索了几个小时后仍然找不到解决方案)。

我的问题是在登录过程中。首先,您必须指定您是哪个应用程序并提供您的应用程序密码。比您必须使用帐户登录 Facebook。

  1. 但是我应该使用哪个帐户呢?他们的活动之一?矿? (我是活动页面的管理员)(这意味着所有消息都会 从我的帐户发布,而我不是海报...听起来很漂亮 奇怪..)
  2. 我应该使用哪种方法登录facebook?有多种方法,例如 FacebookRedirectLoginHelper()、FacebookCanvasLoginHelper() 或 Javascript 方法。不过,据我所知,所有这些帮助您的用户登录他们的 Facebook 帐户的方法并不是我想要的。

在搜索过程中,我发现了一些正在制作类似系统的示例 (Facebook Graph API PHP SDK v4 - Post on Page)。他/她使用以下代码获取 facebook 会话:

FacebookSession::setDefaultApplication('{APP ID}','{APP SECRET}');
$session = new FacebookSession('{Page Access Token}');

这表明您不需要按用户登录 facebook,而只需要一个 Page Access Token。但是,如果我理解正确(如果我错了,请纠正我),要获得页面访问令牌,您首先需要一个用户访问令牌 (https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens)。要获得用户访问令牌,您应该先登录,然后我们回到故事开头的问题 1 和 2。

或者我可以使用以下 api 请求获取页面访问令牌(根据https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens

GET /{user-id}/accounts

使用随机用户 ID,只要页面管理员授予该用户生成此类令牌的权限(因此与“用户 ID”相关的用户在检索页面访问令牌时不应登录?)。

【问题讨论】:

  • 你的问题不清楚。你到底想在哪里发帖?事件?还是一页?如果页面,您自己的页面,或任何用户的页面?一点都不清楚!

标签: php facebook facebook-graph-api


【解决方案1】:

听起来您需要使用以下流程:

  1. 让页面管理员使用他们的 Facebook 帐户登录。确保请求manage_pages 扩展权限。这将使您能够访问他们管理的页面。
  2. 一旦他们授予对您应用的访问权限,您将获得一个短暂的 user 访问令牌。将其换成长期存在的用户访问令牌。
  3. 使用/me/accounts 获取user's pages 的列表。每个页面都会返回一个access_token 字段。这些都是page access tokens。我们希望使用长期存在的用户访问令牌来获取此列表,以便返回的所有页面访问令牌都没有到期日期。他们永远活着! :)
  4. 如果您想作为该页面发布,请使用页面访问令牌在页面的墙上发布。如果您想以该用户的身份发布,请使用用户访问令牌发布到页面的墙上。

Facebook Query Builder 可能会使整个过程变得更容易。 :)

希望有帮助!

【讨论】:

  • 非常感谢。现在听起来清楚多了。我试试看!
  • 我还需要“publish_actions”扩展权限。除此之外,您列出的工作流程很清晰,现在可以正常工作。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2015-09-22
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多