0

长访问令牌和短访问令牌有什么区别?

例如,我正在尝试使用以下方法来获得共同的朋友:

https://graph.facebook.com/$uid1/mutualfriends/$uid2?access_token=$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中找到的访问令牌,它可以工作,但这个令牌变化很大。

那么你将如何获得有效的令牌以允许访问共同的朋友呢?

4

1 回答 1

2

您使用问题中的代码获得的令牌是应用令牌,不能用于获取用户的朋友。与用户令牌不同,应用令牌不会过期。

用户令牌可以是短期或长期的,具体取决于您获得它们的方式。短期令牌在几个小时内到期,但长期令牌仅在 60 天后到期。

使用javascript sdk客户端身份验证流程为登录用户生成短期令牌,并且可以使用这个新端点将其扩展到长期令牌。服务器端流程也会产生长期存在的令牌。

一旦应用程序获得用户访问令牌,它就会代表登录用户查询数据。您可以通过选择右上角的应用程序然后单击“获取访问令牌”按钮来使用资源管理器工具进行检查,在允许应用程序和权限后,您将看到“访问令牌”字段具有访问令牌并且您可以开始发出api请求了。

于 2012-05-26T19:55:31.630 回答