【问题标题】:Facebook authentication for scheduled posts预定帖子的 Facebook 身份验证
【发布时间】:2012-06-13 17:36:56
【问题描述】:

假设我从用户那里得到了一个授权令牌, 我稍后将在我的 cron 作业中使用它来将帖子发送到用户的墙上。 令牌过期时如何处理情况,我以后才发现, 尝试将预定信息发布到用户墙时? 这是否意味着我应该失败,并要求用户手动重新授权该应用程序? 或者有什么方法可以使用 Facebook API 创建预定的帖子?

【问题讨论】:

    标签: facebook authentication facebook-graph-api rest authorization


    【解决方案1】:

    您实际上不需要用户访问令牌来发布预定的帖子。从用户那里获得publish_stream 扩展权限后,您可以使用应用访问令牌随意发布帖子。

    如果您的帖子因 Facebook 的 OAuth 异常而失败,那么您知道用户做了一些撤销您权限的事情,您可以尝试让他们重新使用您的应用进行身份验证。这里的诀窍是你如何联系用户?

    如果您获得了他们的电子邮件地址(在获得 email 扩展权限后),那么您可以向他们发送电子邮件。

    如果他们仍然安装了您的应用并且刚刚撤销了 publish_stream 权限并且您的应用存在画布,您可以使用应用请求来通知用户他们需要采取措施以恢复预定的帖子。或者,您可以在他们下次碰巧访问您网站上的页面时向他们发送某种警报消息。

    【讨论】:

    • 谢谢,帕特。 developers.facebook.com/roadmap/offline-access-removal/… 的文档说“目前长寿命用户 access_token 的有效期为 60 天”。我想如果我在接下来 5 天的第 60 天发送帖子,我将不得不在 5 天内失败并发送电子邮件。所以我想这里不可能 100% 无故障的解决方法。
    • 甚至60天的代币都可能失效有多种原因。例如,当用户更改密码时,所有未完成的令牌都将失效。您只需要捕获并处理异常。
    【解决方案2】:

    是的,如果您失败了,您必须要求用户重新验证您的应用。这涉及用户从 Facebook 中卸载您的应用的用例。

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      相关资源
      最近更新 更多