【问题标题】:Extending 60 days Facebook token延长 60 天 Facebook 令牌
【发布时间】:2015-03-06 07:00:23
【问题描述】:

我正在使用 Hybridauth 连接 Facebook。那时一切都很好;-)

我得到了一个令牌,当我在 https://developers.facebook.com/tools/debug/ 检查它时,我发现它有 2 个月的有效期。

几天后,例如 50 天,我看到令牌确实会在 10 天后过期。

我尝试使用记录的方法(并在其他 StackOverflow 问题中描述)进行扩展:

https://graph.facebook.com/oauth/access_token?             
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN

然后我收到另一个令牌,但如果我在“工具调试”页面中检查新令牌,它会返回相同的过期时间(示例中为 10 天)......实际上,在 10 天内,旧令牌而这个新的已经过期了。

那么……我怎样才能得到一个有效的扩展令牌?

编辑以提出具体问题

在我的例子中,用户将他们的 facebook 连接到他们的帐户,然后我可以从他们的时间线中获取 每天 新照片,显然我不希望他们连接(或单击任何按钮)每 60 天更新一次。我想这可以像其他网站一样永远自动化(因为不再有 offline_access 权限)。

如何让用户将他们的 FB 帐户连接到我的网站,然后我有办法在他的时间线中获取新内容永远

【问题讨论】:

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


    【解决方案1】:

    您必须再次将用户重定向到登录对话框 url,如 https://developers.facebook.com/docs/facebook-login/access-tokens/#expiredtokens 中所述

    如果访问令牌无效,解决方案是让此人再次登录,此时您将能够再次代表他们进行 API 调用。您的应用为新用户使用的登录流程应决定您需要采用哪种方法。

    如果您不请求更多权限,通常在重定向时不需要用户操作。

    【讨论】:

    • 我无法使用该解决方案...一旦用户连接了他的 Facebook 帐户,这是一个夜间“cron”进程,从他的时间线中获取内容...不再有“用户交互”网站...它必须是其他解决方案,因为许多网站允许您与 Facebook 连接,虽然您需要 2 个多月才能回来,但连接(和数据获取)永远存在。
    • 不,这不是真的。developers.facebook.com/docs/facebook-login/access-tokens/… ...long-lived tokens usually have a lifetime of about 60 days...
    • 好的,正如我所说,必须有一种方法可以“玩”用户的时间线(Open Graph 请求),而不要求他们每 60 天“点击”任何网站!
    • 只有一个例子:Endomondo,我连接了我的 Facebook。我已经有 6 个月没有进入他们的申请了,他们仍然可以在我的时间线中发布,并且在访问网站后,我不必再次登录。
    • 好吧,如果你这么说的话。祝您好运找到当前 Graph API 版本的解决方案。
    猜你喜欢
    • 2012-05-28
    • 2012-05-05
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多