长期和短期访问令牌之间有什么区别?
例如我正在尝试使用以下内容来吸引共同的朋友:
https://graph.facebook.com/ $ UID1 / mutualfriends / $ UID2?=的access_token $令牌
使用以下函数获取访问权限:
function getAccessToken(){
$url ='https://graph.facebook.com/oauth/access_token?client_id='.FB_APP_ID.'&client_secret='.FB_SECRET_ID.'&grant_type=client_credentials';
$info = file_get_contents($url);
$clean = clean_up_data($info);
return($clean);
}
但是这不起作用,因为令牌无效,但如果我使用Graph API Explorer中找到的访问令牌,它可以工作,但这个令牌变化很大。
那么你将如何获得有效的令牌以允许访问共同的朋友?
答案 0 :(得分:2)
您使用问题中的代码获得的令牌是一个应用令牌,它不能用于获取用户的朋友。 与用户令牌不同,应用令牌不会过期。
用户令牌可以是短期或长期的,具体取决于您获取它们的方式。 短暂的生命在几个小时内到期,但是长寿的令牌只在60天后到期。
使用javascript sdk和client side authentication flow为已登录用户生成短期令牌,并且可以使用this new endpoint将其扩展为长期令牌。 server side flow也会产生长寿命代币。
一旦应用程序获得用户访问令牌,它就会让他们代表登录用户查询数据。 您可以使用资源管理器工具检查,方法是选择右上角的应用程序,然后单击“获取访问令牌”按钮,在允许应用和权限后,您将看到“访问令牌”字段具有访问令牌,您可以开始提出api请求。