Javascript SDK
脚本进行FB
登录,并且通过此登录我想使用用户公共自己的共享帖子。因此我使用javascript
代码下面的代码:
FB.login(function(response)
{
if (response.authResponse)
{
console.log('Welcome!');
}
else
{
console.log('User cancelled login');
}
}, {scope:'publish_stream'});
在上面的代码中,我会给出scope:'publish_stream'
,但当任何用户登录时,只获得profile_info
的许可,那么我不明白的问题是什么,请帮帮我
基本上我会给scope
所以当用户登录时必须询问但在我的情况下,其行为不是正常的病态放置在用户登录权限页面下面。
请指导我更改代码或以其他任何方式提供我,谢谢
答案 0 :(得分:1)
根据Facebook developers page,这是做到这一点的方法:
FB.login(function(response) {
if (response.status === 'connected') {
// Logged into your app and Facebook.
} else if (response.status === 'not_authorized') {
// The person is logged into Facebook, but not your app.
} else {
// The person is not logged into Facebook, so we're not sure if
// they are logged into this app or not.
}
});
或者您可以通过以下方式检查登录状态:
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
更新1:您可以在此处看到full list,其中包含您可以在范围内设置的所有权限。
您可以看到您需要使用read_stream
而不是publish_stream
我认为这是您的问题。
更新2:我找到了这个(reference):
Facebook曾经拥有一个名为publish_stream的权限。 publish_actions在所有情况下都替换它。此权限也取代了photo_upload。
因此,您可以使用publish_actions
代替publish_stream
,因为现在已弃用。
https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-extended-publish
我希望这能帮助你进一步