【问题标题】:Facebook Stream Publish while offlineFacebook Stream 离线发布
【发布时间】:2012-08-21 03:55:27
【问题描述】:

如果我拥有 Facebook 应用的 publish_stream 扩展权限,这是否允许我的应用在我离线时在我的提要上写入内容?

谢谢,
三通

【问题讨论】:

标签: facebook


【解决方案1】:

只要您拥有 publish_stream 权限,您就不需要 offline_access 权限来发布到用户的供稿。这是Facebook's Doc的“publish_stream”部分的摘录:

发布流 有了此权限,您可以随时将内容发布到用户的供稿,而无需离线访问权限。

为此,您需要首先通过调用此 API 来检索应用的访问令牌:

获取网址 https://graph.facebook.com/oauth/access_token?client_id={app_id}&client_secret={app_secret}&grant_type=client_credentials

获得应用程序 access_token 后,您可以发布到用户的供稿:

发布网址 https://graph.facebook.com/{user_id}/feed

发布正文 access_token={app_access_token}&message=Hello

【讨论】:

  • 我可以验证它是否有效,更多信息:developers.facebook.com/docs/authentication
  • 菲利普,有两个步骤。哪一个不适合您,您从 Facebook 收到什么错误消息?我只是使用 Fiddler 完成的,它对我有用。
【解决方案2】:

以防万一有人偶然发现此问题正在寻找使用 PHP 的解决方案。使用PHP API,在此处的 FB 文档的帮助下,我最终完成了这项工作:

http://developers.facebook.com/docs/reference/php/facebook-api/

请注意,$users_facebook_id 是授予您的应用“publish_stream”权限的用户的 Facebook ID。

$access_token = $facebook->getAccessToken();

$ret_obj = $facebook->api('/'.$users_facebook_id.'/feed', 'POST',
                                    array(
                                   'link' => 'http://www.website.com',
                                   'message' => 'Testing'
                                  ));

【讨论】:

    【解决方案3】:

    是的,facebook 允许您离线发布,只需从用户那里获得 offline_access 权限,当他/她要使用您的应用程序时,用户无需登录 facebook 即可发布。 请参考:

    http://developers.facebook.com/docs/authentication/permissions

    【讨论】:

    • 关于 publish_stream 权限:...有了这个权限,您可以随时将内容发布到用户的提要中,而不需要offline_acces...所以显然不需要offline_access 权限。只是没有说如何。
    【解决方案4】:

    offline_access 在 facebook 中不再使用,新的方式是通过 New Endpoint 的 TOKEN 的 Expiration Time 阅读更多https://developers.facebook.com/roadmap/offline-access-removal/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多