Facebook publish_permission 返回错误
Facebook publish_permission is returning error
我尝试在使用 Facebook 登录后向我的用户请求 publish_actions
。登录成功但是publish_actions
window 甚至不会弹出。
我已经尝试了下面的代码来获得用户对 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 returns 对象 {authResponse:对象,状态:"connected"}
响应 2 returns 对象 {数据:数组[0]}
而 ERROR 本身是 Uncaught TypeError: Cannot read 属性 'status' of undefined
首先,如果您已经使用 return_scopes
,则无需使用另一个 API 调用来获取权限。授权权限将在 FB.login
的响应中。
话虽如此,如果您在授权过程中没有被要求提供 publish_actions
,这很可能是因为您尝试与在应用程序中没有角色的用户一起尝试。 publish_actions
需要通过 Facebook 审核才能使用它 public。
错误很明显,没有"response.data[0]"。直接使用索引访问数组值不是一个好主意。数组可能未填充,就像这里的情况一样。
有关登录审核的更多信息:https://developers.facebook.com/docs/facebook-login/review
您无需更改代码中的任何内容。只需访问您的 Facebook 申请页面并提交审核 publish_actions ,在您获得批准后一切正常。
我尝试在使用 Facebook 登录后向我的用户请求 publish_actions
。登录成功但是publish_actions
window 甚至不会弹出。
我已经尝试了下面的代码来获得用户对 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 returns 对象 {authResponse:对象,状态:"connected"}
响应 2 returns 对象 {数据:数组[0]}
而 ERROR 本身是 Uncaught TypeError: Cannot read 属性 'status' of undefined
首先,如果您已经使用 return_scopes
,则无需使用另一个 API 调用来获取权限。授权权限将在 FB.login
的响应中。
话虽如此,如果您在授权过程中没有被要求提供 publish_actions
,这很可能是因为您尝试与在应用程序中没有角色的用户一起尝试。 publish_actions
需要通过 Facebook 审核才能使用它 public。
错误很明显,没有"response.data[0]"。直接使用索引访问数组值不是一个好主意。数组可能未填充,就像这里的情况一样。
有关登录审核的更多信息:https://developers.facebook.com/docs/facebook-login/review
您无需更改代码中的任何内容。只需访问您的 Facebook 申请页面并提交审核 publish_actions ,在您获得批准后一切正常。