在搜索和阅读了扩展令牌的official docs后,我不清楚是否有更好的方法从本地桌面应用程序中刷新长期访问令牌,而不是提示用户再次登录并授权url。桌面应用程序不允许此调用:
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token} 所以我现在发现的唯一选择是检测令牌是否即将过期,如果是真的,将用户重定向到登录页面以重新授权我的应用程序,这不是很舒服,你知道有其他方法吗?
发布于 2014-11-06 17:35:00
根据您的问题,您想要刷新长期存在的token.The服务,您希望从从身份验证流获得的短期令牌中获得长期存在的令牌,而不是刷新现有的长期生存期的令牌
您可以通过将用户发送回web应用程序使用的登录流来生成新的长期令牌-请注意,用户实际上不需要再次登录,他们已经授权了您的应用程序,因此他们将立即使用刷新的令牌从登录流重定向回您的应用程序。
完成上述操作后,您将获得一个新的短期令牌,然后需要对一个长期令牌执行相同的交换。
有关详细信息,请参阅https://developers.facebook.com/docs/facebook-login/access-tokens
https://stackoverflow.com/questions/17743578
复制相似问题