【问题标题】:Renewing long lived token without user interaction?在没有用户交互的情况下更新长寿令牌?
【发布时间】:2012-10-31 01:21:48
【问题描述】:

首先让我说授权、令牌和整个过程让我很困惑,所以我希望我能传达我想要理解的内容!

我有一个 WordPress 博客,我正在使用我编写的一个非常基本的插件来授权 Facebook 访问我的个人帐户。我授予 user_photos 和 manage_pages 权限,允许我从我自己的帐户和与博客相关的页面在博客上显示照片画廊。我只关心将 Facebook 授权给我自己的帐户。

我正在使用 API 生成身份验证令牌,并将该令牌存储在 WP 数据库中以重复使用它。我已经确认我有一个长期存在的令牌。这一切现在都完美无缺。我的画廊完全按照我想要的方式显示给访问该站点的任何人。

我不明白,也不知道如何测试,当这个令牌过期时会发生什么。我的假设是,如果用户在发生这种情况后访问我的网站,他们会在画廊应该在的地方看到一些乱码/错误。我在这里通读了“Scenario 4”,它看起来有点像我正在处理的内容,但我不知道新的短期令牌来自哪里,然后可以将其交换为长期令牌。

我是否可以自动生成新的短期令牌以重新授权应用程序而无需我进行任何交互,或者我是否必须每月给自己做个记录以确保它不会访问插件过期了吗?

【问题讨论】:

    标签: facebook facebook-graph-api authorization


    【解决方案1】:

    不,如果没有特定用户本身,就无法更新用户访问令牌。无论如何都会使整个系统无效。但是,长寿命令牌的有效期为 60 天,因此您必须不时登录您的应用程序。

    更好:Afaik 您可以通过调用/me/accounts 并使用长期(60 天)用户访问令牌来获取永久存在的页面的页面令牌。所以这至少适用于页面。无论如何,来自用户帐户的数据并不意味着要在某个地方发布。但话又说回来,如果您只想从 facebook 页面读取内容,则可以使用应用访问令牌:

    $app_access_token = APPID . '|' . APPSECRET;
    

    【讨论】:

    • 感谢您的快速回复 - 因此,从您所说的内容和阅读 Page Connections Reference 的内容来看,只要我通过页面而不是我自己管理所有照片,我就可以做我想做的事。我不需要任何形式的额外授权。听起来对吗?
    • 没错,只要你从一个页面中阅读所有内容,你就可以了。如果您想在页面上编辑内容,这只会是一个问题,在这种情况下,您需要一个页面令牌。对于页面的相册/照片,您不需要任何访问令牌,对于提要,您可以使用任何访问令牌,这意味着您还可以使用我在帖子中提到的静态应用访问令牌。
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2021-01-20
    • 2022-07-11
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    相关资源
    最近更新 更多