我的问题是:
为什么我们必须为数据库中的每个用户存储可过期的access_token
,我们可以使用
APP_ID|APP_SECRET
在用户允许我们的应用发布到他的墙后,access_token
为<{1}}?
提前谢谢。
我找到了一些重要信息:
https://developers.facebook.com/docs/facebook-login/access-tokens/
答案 0 :(得分:0)
您不必将access_token存储在数据库中。您可以在用户打开应用时随时抓取它。
var accessToken;
FB.Event.subscribe('auth.login', function (response) {
if (response.status === 'connected') {
accessToken = response.authResponse.accessToken;
} else if (response.status === 'not_authorized') {
FB.login();
} else {
FB.login();
}
});
这样,每当他们使用该应用时,令牌都是最新的,并且他们授予您的应用的任何权限都将被转移到当前会话。
答案 1 :(得分:0)
您在用户的墙上发帖并不需要用户访问令牌,应用访问令牌可用于此目的。
但事实是,App访问令牌的权力非常有限。对于发布它的罚款,但对于其他API调用(几乎所有其他调用),您需要一个活动的用户访问令牌来查询用户。在那里,您不能只使用App访问令牌并拨打电话。