Facebook publish_permission返回错误

时间:2015-07-10 10:22:25

标签: javascript jquery facebook facebook-graph-api facebook-javascript-sdk

我正在尝试使用Facebook登录后向我的用户请求publish_actions。登录成功,但publish_actions窗口甚至不会弹出。 我已尝试使用以下代码将publish_actions的用户权限授予用户的墙,但它会一直返回错误。

function autoPost(){
    FB.login(function(response){
        console.log("Response 1", response);
        FB.api('/me/permissions/publish_actions', function(response) {
            console.log("Response 2", response);
            if ((response.data[0].status === "granted")){
                publish = 1;
            }
            else {
                publish = 0;
            }
        });
    }, {scope: 'publish_actions', return_scopes: true});
}

响应1返回对象{authResponse:对象,状态:"已连接"}

响应2返回对象{data:Array [0]}

ERROR 本身是未捕获的TypeError:无法读取属性' status'未定义的

2 个答案:

答案 0 :(得分:1)

首先,如果您已经使用return_scopes,则无需使用其他API调用来获取权限。授权的权限将在FB.login的响应中。

话虽如此,如果您在授权过程中没有被要求publish_actions,那么很可能是因为您正在尝试与应用中没有角色的用户。 publish_actions需要经过Facebook审核才能上市。

错误很明显,没有“response.data [0]”。使用索引直接访问数组值不是一个好主意。可能没有填充数组,就像这里的情况一样。

有关登录审核的更多信息:https://developers.facebook.com/docs/facebook-login/review

答案 1 :(得分:1)

您无需更改代码中的任何内容。只需要访问您的Facebook应用程序页面并提交评论 publish_actions ,在您获得批准后,一切都应该正常工作。