【问题标题】:Facebook access tokens, permissions and offline publish_actionsFacebook 访问令牌、权限和离线 publish_actions
【发布时间】:2013-09-18 07:22:30
【问题描述】:

我正在开发一个应用程序,其中我想做的一件事是代表用户离线发布状态。那是用户不使用应用程序的时候。 facebook 的文档不清楚访问令牌的有效性、特定调用所需的访问令牌类型(如发布流)、如何更新它等。我正在使用 PHP Facebook SDK。它有一个函数setExtendedAccessToken()。但它是为了将客户端获得的短期访问令牌延长60天(当然有一些例外情况)。如果我有一个通过服务器到服务器调用获得的长期访问令牌怎么办。更具体地说,通过调用$facebook->getAccessToken() 方法。我正在使用以下代码在离线模式下发布。

$req =  array(
'access_token' => $access_token, //stored in db, obtained thru getAccessToken()
'name' => "Awesome Status!",
'link' => "apps.facebook.com/myapp",
'description' => "Some Description",
'picture'=>"xxx.jpg",
'caption' => "Caption this"
);
$res = $facebook->api("/$userid/feed", 'POST', $req);

谢谢!

加法:

尝试使用setExtendedAccessToken 函数,但它没有改变任何东西。我什至检查了访问令牌信息here。我认为它适用于短暂的客户端生成令牌。

【问题讨论】:

  • 你知道你不能发布不是用户主动创建的内容,对吧?
  • 什么?没有冒犯,但要么我的英语不好,要么我的英语不好。无法理解你的意思。我自己编写了代码。所以???
  • @emotionull 你的英语肯定不太好。
  • 我只是说您似乎想自动将内容发布到用户的墙上,而不需要用户参与创建该内容的过程——这就是平台政策不允许。 (如果不是这种情况,并且用户在自己创建内容时在您的网站上处于活动状态,那么您也应该能够每次都获得当前的访问令牌,因此您不必要求一个长期存在的令牌或甚至离线访问……)
  • “如果我有一个通过服务器到服务器调用获得的长期访问令牌怎么办。” - 那么你不需要扩展它,因为它已经很长寿了。

标签: php facebook facebook-graph-api facebook-php-sdk facebook-access-token


【解决方案1】:

您可以使用App Access Token(APP_ID|APP_SECRET)代用户离线发布;用户授权您的应用后。

【讨论】:

  • 没有。这需要用户访问令牌。
  • 不,一旦用户拥有此操作的身份验证应用程序,您就可以使用应用程序访问令牌
  • 我怎样才能说服你?你能给出任何文档页面的链接吗?我知道文档非常粗略。
  • 你不需要说服我,而是你自己。看这里:developers.facebook.com/docs/facebook-login/access-tokens,你会发现:App access tokens can also be used to publish content to Facebook on behalf of a person who has granted an open graph publishing permission to your application.
  • 所以,这就是我所说的 - once the user has authorized your app.;用户必须已将 publish_stream(如果使用 OG,则为 publish_action)授予应用程序
猜你喜欢
  • 2013-02-17
  • 2013-06-30
  • 2011-12-19
  • 2018-10-13
  • 2012-07-24
  • 2023-04-05
  • 1970-01-01
  • 2011-07-10
相关资源
最近更新 更多