Titanium:Facebook API:(#200)需要扩展许可:publish_actions
Titanium: Facebook API: (#200) Requires extended permission: publish_actions
遵循文档中的标准示例,但它不起作用。
有趣的是,如果我执行 Ti.API.info(fb.getPermissions()),则会列出发布操作。
这是该行的输出:
[INFO] : permissions=
[INFO] : publish_actions,status_update,publish_stream,read_stream,manage_pages
代码:
var fb = require('facebook');
fb.appid = '1234567';
fb.permissions = ['publish_actions', 'status_update', 'publish_stream', 'read_stream','manage_pages']; // Permissions your app needs
fb.authorize();
fb.forceDialogAuth = true;
var data = {
caption: 'This is a test',
picture: blob
};
fb.requestWithGraphPath('me/photos', data, 'POST', function(e){
if (e.success) {
alert("Publish is ok");
} else {
if (e.error) {
alert(e.error);
} else {
alert("Unkown result");
}
}
});
publish_stream
多年来一直被弃用,如果您仍然使用 publish_actions
则完全没有意义。
也就是说,错误消息意味着授权过程不成功。如果您尝试作为 Facebook 应用程序的管理员,您应该在授权后调试您的访问令牌,并确保在此过程中要求您提供权限。
如果您没有尝试使用应用程序的 Admin/Developer/Tester,这很可能是因为权限需要先在登录审核中获得批准:https://developers.facebook.com/docs/facebook-login/review
遵循文档中的标准示例,但它不起作用。
有趣的是,如果我执行 Ti.API.info(fb.getPermissions()),则会列出发布操作。
这是该行的输出:
[INFO] : permissions=
[INFO] : publish_actions,status_update,publish_stream,read_stream,manage_pages
代码:
var fb = require('facebook');
fb.appid = '1234567';
fb.permissions = ['publish_actions', 'status_update', 'publish_stream', 'read_stream','manage_pages']; // Permissions your app needs
fb.authorize();
fb.forceDialogAuth = true;
var data = {
caption: 'This is a test',
picture: blob
};
fb.requestWithGraphPath('me/photos', data, 'POST', function(e){
if (e.success) {
alert("Publish is ok");
} else {
if (e.error) {
alert(e.error);
} else {
alert("Unkown result");
}
}
});
publish_stream
多年来一直被弃用,如果您仍然使用 publish_actions
则完全没有意义。
也就是说,错误消息意味着授权过程不成功。如果您尝试作为 Facebook 应用程序的管理员,您应该在授权后调试您的访问令牌,并确保在此过程中要求您提供权限。
如果您没有尝试使用应用程序的 Admin/Developer/Tester,这很可能是因为权限需要先在登录审核中获得批准:https://developers.facebook.com/docs/facebook-login/review