4

我有一个奇怪的问题,与Facebook的Oauth的access_token端点:Facebook上的Oauth的access_token andpoint不返回 “到期” 值

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,则此端点会返回我已具有的相同访问令牌,并且也会过期参数,但仅适用于短期。 因此,如果我在一段时间后(例如几个小时)用相同的access_token重复同样的呼叫,并且只返回没有expires参数的access_token。 ...所以我无法建立我的access_token何时到期。 请注意,返回的access_token仍然有效,并且工作正常。

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

+2

我不明白 - 当用户没有主动使用你的应用/未登录到Facebook时,你是否试图扩展令牌? – Igy 2012-07-13 13:31:20

+0

正确。 这是一个背景过程。它在服务器上作为背景进程工作,并且必须使用带有长期用户access_token的facebook insight API(因为它不是具有浏览器执行登录的uman用户)。 所以我必须使用端点来知道到期时间有多少天。当天<10时,我必须通过电子邮件提醒用户。 – 2012-07-13 17:51:54

+0

这是不可能的,用户需要至少每60天回来为他们维护一个活动令牌,例外是允许无限令牌的Ads API和Pages API - 您只能在实际使用应用程序 – Igy 2012-07-14 18:45:55

回答

0

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