2

デスクトップおよびモバイルプラットフォームで実行することになっているAIRアプリケーションを開発しています。ほとんどのFacebook機能では、Flash用の公式GraphAPIバージョン1.8.1を使用しています。

アプリを使用するには、ユーザーはFacebookにログインする必要があります。これは、最初にFacebookMobile.init()を呼び出すことで簡単に機能します。ユーザーがログインしていないことが報告された場合は、次のようにログインします。

var webView :StageWebView = new StageWebView();
webView.stage = stage;
webView.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
FacebookMobile.login(handleLoginResult, stage, new Array(), webView);

これらはすべて非常にうまく機能しますが、ログアウトは期待どおりに機能しません。呼び出し

FacebookMobile.logout(handleLogout);

Facebookからユーザーをログアウトするようですが、handleLogoutには常に最初のパラメーターとしてtrueが渡さますこのログアウト後、FacebookMobile.init()が呼び出されると、ユーザーがログインしていないことも正しく報告されます。そのため、上から再度login()メソッドを呼び出します。

次に、WebViewは開きますが、すぐに閉じます。Facebookのログイン画面を表示せずに、ログアウトしたばかりのユーザーに自動的にログインします。しかし、電子メールとパスワードを入力することで、別のユーザーにログインできるようにしたいと思います。

おそらく、アプリケーションの起動時にログアウトが発生することを述べておかなければなりません。ユーザーは自分でログアウトできません。アプリケーションは起動時にログアウトするため、ユーザーは毎回強制的にログインする必要があります。はい、これには理由があります;)

これはある種のキャッシュの問題だと確信していますが、Flash / AIRでどのように解決できますか?

4

3 に答える 3

1

少し遅れますが、何もないよりはましですか?この問題は、OAUTHAPIを試していたときに見たことがあります...

別の問題を探している間に潜在的な解決策を見つけましたが、キャッシング/クッキーに関して...

この投稿では、何をする必要があるかを説明しています:http: //cookbooks.adobe.com/post_Cannot_logout_from_Facebook_on_Android_devices-19254.html

基本的にはあまりきれいな解決策ではありませんが、キャッシュが行われているフォルダーを手動で削除します。

お役に立てれば。

于 2012-10-22T13:53:45.473 に答える
0

同様の問題に対してこの回答から「reallyLogout」を実装することは私のために働きました: https ://stackoverflow.com/a/8199505/952779

于 2014-08-26T16:43:47.483 に答える
0

Internet ExplorerのキャッシュとCookieをクリアすると、StageWebViewFacebookログインからログアウトされます。

更新:記述子xmlファイルからアプリIDも変更します

于 2014-10-08T11:19:51.707 に答える