该操作无法完成。 (com.facebook.sdk错误5.)

时间:2014-09-22 06:58:18

标签: ios facebook facebook-graph-api titanium sharing

我在Facebook中创建一个新应用程序并使用它与Titanium与Facebook模块共享时出现问题,我收到此错误:

Error: HTTP status code: 403
[ERROR] :  FB: The operation couldn’t be completed. (com.facebook.sdk error 5.)

因此,如果我在Facebook应用程序部分使用相同代码和相同配置的旧(其他)appid,则可以正常工作。

var fb = require('facebook');
fb.appid = "XXXXXXXXXXXXXXX";
fb.permissions = ['publish_stream', 'read_stream'];

if(!fb.loggedIn) {
    fb.authorize();
} 

var data = {
    message: messageToShare,
    picture: blobImageToShare
};

fb.requestWithGraphPath('me/photos', data, "POST", function(e){
    if (e.success) {
        Ti.API.info("FB: Success! Shared to FB: " + e.result);
    } 
    else {
        if (e.error) {
           Ti.API.error('FB: '+ e.error);
        } 
        else {
            Ti.API.error("FB: Unkown result sharing");
        }
    }
});

Titanium版本:3.3.0 Titanium SDK 3.3.0 平台&版本:iOS> = 6 设备:iOS模拟器,iPhone 4& 5。 解决这个问题的任何方法?

1 个答案:

答案 0 :(得分:0)

在尝试进行图表查询之前,您需要确保Facebook授权完成。

fb.authorize();

fb.addEventListener('login', function(e) {
    Ti.API.debug('Returned from Facebook.');

    if (e.success) {
        Ti.API.debug('Authorized with Facebook, yeeey!');
        // Query Graph now that we're authorized...
    }
    else if (e.error) {
        Ti.API.debug('Error logging in with Facebook: ' + e.error);
    }
    else if (e.cancelled) {
        Ti.API.debug('Cancelled logging in with Facebook.');
    }
    else {
        Ti.API.debug('Something else. May actually be logged out.');
    }
});

另外,请确保在 tiapp.xml 文件中定义您的Facebook appid:

<property name="ti.facebook.appid">xxxxxxxxxxxx</property>