私はAndroidとfacebook-connectを使用して、ユーザーの壁に投稿する簡単なアプリを持っています。正式なFacebookアプリがインストールされていないと、認証システムが正常に動作しているように見えます.Webviewが開き、ユーザーがログインしてからアプリケーションが動作します。ただし、ユーザーに公式アプリがインストールされている場合は、認証コードによって上部に青色のfacebookバナーが表示された白い画面が開き、ポップアップダイアログが表示されます。これは約1秒間実行され、その後私のアプリにまっすぐに戻ります。ただし、例のように、アクセス権やログイン画面は表示されませんでした。また、アプリケーションにアクセストークンを受け取ったこともありませんでした。誰が何が間違っているのか分かりますか?私のログインコードは以下の通りです:Android/Facebook - 許可なし/ログイン画面でアプリを使用
public void authFb(){
if(!facebook.isSessionValid()) {
facebook.authorize(this, new String[] {"publish_stream", "offline_access"}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
'facebook'変数は単なるFacebook(HASH)オブジェクトです。
あなたは応答で何が起こっているのかを知る必要があります。レスポンスをダンプするには、すべての空のメソッドにloggingステートメントを追加する必要があります。私は何かがonFacebookError()に戻って来ることを賭けるだろう。確かに何のアイデアはありません。それを記録する。 –
FacebookErrorは "invalid_key"を出力します。私は理解していない - これは私のハッシュが間違っていることを意味しますか?それがアプリでなければ、なぜそれは機能しますか? –