我对Facebook Graph API感到有些困惑。
首先,我在开发人员页面上创建了一个应用程序,然后使用如下URL来给我的应用程序自动化:
www.facebook.com/dialog/oauth?client_id=MY_CLIENT_ID&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent
好的...在此之后,该页面返回了如下URL:
www.facebook.com/connect/login_success.html#access_token=ACCESS_TOKEN&expires_in=5171411&code=CODE
我意识到返回的ACCESS_TOKEN始终相同。所以我曾经搜索用户,像这样:
graph.facebook.com/search?q=QUERY_SEARCH&type=user&access_token=ACCESS_TOKEN
我相信以上所有网址都是正确的。
我的疑问是:我不知道如何使用长期令牌(实际上,我什至不知道返回的令牌是否是长期令牌)。当我使用这些URL时,总是为我返回相同的令牌,因此我始终使用相同的ACCESS_TOKEN。
但是,正如我在Facebook Graph页面上阅读的那样,令牌无法再一直处于活动状态……它们现在将过期。
我怎么知道我是否有长寿令牌?令牌过期后,如何“刷新”它?
我试图遵循文档,但是我完全迷路了...
developers.facebook.com/roadmap/offline-access-removal/
此页面说在高级设置菜单上存在一个“ deprecate offline_acess”……但事实并非如此!
所以...我不知道当令牌过期时如何管理令牌,或者如何知道我是否使用了长期令牌
最佳答案
您可以在Access Token Debugger上检查您的访问令牌何时到期。
通过使用此api,您可以在需要输入短期访问令牌的情况下获得长期访问令牌。
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
返回新的长期访问令牌的位置。 (有效期为2个月。)