PhoneGap を使用して Facebook にログインしようとしています。それはうまくいくようです。しかし、iOS 6.0 では、「操作を完了できませんでした。(com.facebook.sdk エラー 5)」というメッセージが表示されてログインに失敗しました。
iPhoneの設定でアカウントを設定していない場合、プラグインはブラウザを使用してログインしました。問題はない。しかし、設定でアカウントを設定すると、メッセージに表示されます。アプリを閉じて再度起動すると、正常にログインします。
この関数は、すでにログインしているかどうかをチェックします。
function getLoginStatus() {
FB.getLoginStatus(function(session) {
console.log('Got the user\'s session(facebook): ', session);
if (session.status == 'connected') {
FB.api('/me', {
fields: 'id, name, email'
},
function(response) {
if (response.error) {
console.log('get user name failed');
login(); // login to Facebook.
}
else
{
console.log('FB name, ' + response.name);
console.log('FB id, ' + response.id);
console.log('FB email, ' + response.email);
siteLogin(response); // login to my site.
}
});
} else {
console.log('get user name failed 2');
login(); // login to Facebook
}
});
}
Facebookログイン機能
function login() {
FB.login(
function(response) {
if (response.session) {
alert('logged in');
} else {
alert('not logged in');
}
},
{ scope: "email" }
);
}
これがイベント機能です。
FB.Event.subscribe('auth.login', function(response) {
FB.api('/me',{ fields: 'id, name, email' }, function(response1) {
if (response1.name !== undefined)
{
siteLogin(response1); // login to my site.
}
else
{
// I think here I get the message "The operation couldn't be completed.(com.facebook.sdk error 5)"
alert('error.');
}
});
});