【问题标题】:Facebook Oauth access_token andpoint does not return "expires" valueFacebook Oauth access_token andpoint 不返回“过期”值
【发布时间】:2012-10-10 23:23:57
【问题描述】:

我对 Facebook Oauth access_token 端点有一个奇怪的问题:

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

文档here(在“场景3”中)说: “如果在该用户仍有有效的长寿命用户 access_token 时进行调用,则第二次调用返回的用户 access_token 可能相同或可能已更改,但在任何一种情况下,到期时间都将设置为过期时间长。”

如果我获得了一个有效的长寿命用户 access_token,这个端点会返回我已经拥有的相同的访问令牌,并且也将 expires 参数但只是短期。 因此,如果我在一段时间后(例如几个小时)重复上述相同的调用并使用相同的 access_token 指向它,它只返回没有 expires 参数的 access_token。 ...所以我无法确定我的 access_token 何时到期。 请注意,返回的 access_token 仍然有效,并且可以正常工作。

您是否遇到过同样的问题? 你有什么建议吗? 谢谢!

【问题讨论】:

  • 我不明白 - 当用户没有积极使用您的应用/没有登录 Facebook 时,您是否尝试扩展令牌?
  • 正确。这是一个背景过程。它作为后台进程在服务器上工作,并且必须使用具有长期用户 access_token 的 facebook 洞察 api(因为没有使用浏览器执行登录的 uman 用户)。所以我必须使用端点来知道到期时间还剩多少天。当天
  • 这是不可能的,用户需要至少每 60 天回来一次,您才能为他们维护一个活动令牌,但允许无限令牌的广告 API 和页面 API 除外 - 您只能扩展一旦他们实际使用该应用程序
  • 令牌到期前 10 天,我必须提醒用户通过邮件告诉他登录 facebook 并访问应用程序页面。否则,如果用户超过 60 天没有访问我的应用页面,后台进程将无法工作。
  • 澄清一下:后台进程必须使用上面的端点来获取过期时间,如果过期时间

标签: facebook facebook-graph-api oauth facebook-authentication facebook-access-token


【解决方案1】:

我们遇到了同样的问题。我建议在您的数据库中记录到期时间。当然,不是过期的秒数,而是实际的过期日期/时间。 我们也将发送一封电子邮件请求用户更新他们的令牌。如果有其他方法可以提出该请求,我们也有兴趣了解它。向用户询问另一件事(他们的电子邮件)听起来不是一个好主意。

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 2013-10-03
    • 2012-11-06
    • 2023-03-07
    • 2011-03-19
    • 2011-04-21
    相关资源
    最近更新 更多