Операция не может быть завершена. (ошибка 5 com.facebook.sdk.)

У меня проблема, когда я создал новое приложение в Facebook и использую его для обмена в Titanium с модулем Facebook, я получаю эту ошибку:

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

Поэтому, если я использовал свой старый (другой) appid с тем же кодом и той же конфигурацией в разделе приложений facebook, он отлично работает.

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. Есть ли решение этой проблемы?


person El Farouk Mokrani    schedule 22.09.2014    source источник


Ответы (1)


Вы должны убедиться, что авторизация Facebook завершена, прежде чем пытаться выполнить запрос Graph.

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.');
    }
});

Кроме того, убедитесь, что вы определили свой идентификатор приложения Facebook в файле tiapp.xml:

<property name="ti.facebook.appid">xxxxxxxxxxxx</property>
person Kip    schedule 24.09.2014
comment
Спасибо, кип, за ответы, но мой код отлично работает со старым приложением, а не с новым приложением, и я уверен, что запрос графа после авторизации в Facebook. - person El Farouk Mokrani; 24.09.2014