0

コードは次のとおりです。

 FB.init({ appId: "APP_ID", nativeInterface: CDV.FB, useCachedDialogs: false });

FB.Event.subscribe('auth.login', function (response)
{});

FB.Event.subscribe('auth.logout', function (response) 
{});

FB.Event.subscribe('auth.sessionChange', function (response)
{});

FB.Event.subscribe('auth.statusChange', function (response) {
if (response.status == 'connected') {
    Ext.getCmp('facebookLoginButton').setHidden(true);
    Ext.getCmp('facebookLogoutButton').setHidden(false);
}
else {
    Ext.getCmp('facebookLoginButton').setHidden(false);
    Ext.getCmp('facebookLogoutButton').setHidden(true);
}
});

function login() {
FB.login(
            function (response) {
                if (response.authResponse) {
                    Ext.msg('facebook logged-in', 'You are logged in successfully!');
                } else {
                    Ext.msg('facebook logged-in', 'Error - You are not logged');
                }
            },
            { scope: "email, publish_stream" }
            );
  }

  function logout() {
  FB.logout(function (response) {
    Ext.msg('facebook logout', 'You are logout successfully!');
  });
  }

 function getLoginStatus() {
var isLoggedIn = false;
FB.getLoginStatus(function (response) {
    if (response.status == 'connected') {
        isLoggedIn = true;
    } else {
        isLoggedIn = false;
    }
});
return isLoggedIn;
}

function shareLinkOnFaceBook(title, link) {
if (getLoginStatus()) {
    var obj = {
        method: 'feed',
        link: link,
        picture: 'https://www.XXXXX.data.gif',
        name: title,
        caption: '',
        description: 'DEMO:-' + title
    };

    function callback(response) {
    }
    FB.ui(obj, callback);
}
else {
    login();
}

}

(i) ウォールでリンクを共有した後、Facebook ウォールに共有ボタンが表示されません。

(ii) 次のクエリを使用して投稿された URL の統計を表示しようとしたとき:- ここにリンクの説明を入力する と、likes_count、share_count、comment_count が表示されます (いいねをクリックしてコメント ボックスにコメントを入れた後でも)

何かが欠けている場所を教えてください。さらに説明が必要な場合は、お知らせください。

ありがとう、マニッシュ

4

1 に答える 1

0
function getLoginStatus() {
    var isLoggedIn = false;
    FB.getLoginStatus(function (response) {
        if (response.status == 'connected') {
            isLoggedIn = true;
        } else {
           isLoggedIn = false;
        }
    });
    return isLoggedIn;
}

return関数が実行される前にFB.getLoginStatus()からのコールバックが完了しないため、これは常に「false」を返します。

于 2012-05-17T09:30:49.603 に答える