1

私のAndroidアプリケーションには、「Facebookでログイン」と「Twitterでログイン」の2つのボタンがあります。

Facebookでログイン

        var my_client_id = "123412312323", 
        my_redirect_uri = "http://www.facebook.com/connect/login_success.html", 
        my_type = "user_agent", 
        my_display = "touch"

        var authorize_url = "https://m.facebook.com/dialog/oauth?";
        authorize_url += "client_id=" + my_client_id;
        authorize_url += "&redirect_uri=" + my_redirect_uri;
        authorize_url += "&display=" + my_display;
        authorize_url += "&scope=publish_stream,offline_access";
        authorize_url += "&response_type=token"; 
        window.plugins.childBrowser.showWebPage(authorize_url);

上記のURLと子ブラウザを使用して、Facebookにログインするようにユーザーに求めています。

子ブラウザのonlocationchangeメソッドを使用して、リダイレクトURLからFacebookトークンにアクセスしています。

アプリケーションにログアウトボタンがあり、Facebookからログアウトする必要があります。

ログアウト方法で私は以下のFacebookのJavaスクリプトコードを持っています

FB.logout(function(response) {
  alert(response.text);
});

しかし、アクセストークンなしでFB.logout()が呼び出されたというエラーが発生しました

私は以下のスタックオーバーフローの質問を見ました

Q1

Q2

FB.logout()は、FacebookへのログインにFB.loginを使用した場合にのみ機能しますね。

だから、私のアプリでFacebookからログアウトする方法は?

4

1 に答える 1

1

上に示したように、子ブラウザーを使用してFacebookでログインし、ログアウトするには、同じ子ブラウザーを使用してFacebookからログアウトしました。

        child_browser = window.plugins.childBrowser;
    child_browser.onLocationChange = function(loc){
        if (loc.indexOf("http://www.example.com") > -1) {
            window.plugins.childBrowser.close();
        }
    };
    child_browser.showWebPage("https://www.facebook.com/logout.php?next=http://www.example.com&access_token="+facebook_token);
于 2013-02-09T05:20:23.770 に答える