1

私は、読書と公開の両方の権限を持つfacebookでログインできるはずのAndroidアプリを作成しています。私はLoginManagerで実装しました。これはFacebookのにログインし、私の方法であって、このコードスニペットそのかかわらず、私はしばらく後に気づいReadとPublishの両方の権限を持つFacebook LoginManagerでログインすることはできますか?

/** 
* Attempts to log the user into facebook and to get an access token. 
*/ 
private void facebookLogin() { 
    callbackManager = CallbackManager.Factory.create(); 

    LoginManager loginManager = LoginManager.getInstance(); 
    loginManager.registerCallback(callbackManager, new FacebookLoginCallback()); 
    loginManager.logInWithReadPermissions(this, Constants.FB_READ_PERMISSIONS); 
    loginManager.logInWithPublishPermissions(this, Constants.FB_PUBLISH_PERMISSIONS); 
} 

一方が他方がバックグラウンドでまだ完了すると、互いの上部にある2回の別々のFacebookのログインを起動します。私が読み取り権限(または公開のみ)でログインする場合、私は一度ログインする必要があります。これは私が望むものです。

しかし、どちらの種類の権限も必要です。私はFacebook Androidのログインguideを見ました。そこでは、LoginButtonは、必要な権限を保存してから、すべてを1つのログインにすることができるので、LoginButtonを使うべきだと主張しています。これはLoginManagerでは不可能ですか?私はインターネット上を見渡して、thisは、LoginManagerが読み取りまたはでログインしていると言う唯一の場所ですが、LoginButtonは両方を行うことができます。

これは本当ですか? LoginManagerからLoginButtonへのログインを変更するのは巨大な仕事ではありませんが、LoginManagerを使用して一度に読み取りと公開の両方のアクセス権を使用してログインする方法がないかどうかを知りたければ、可能です。

答えて

0

私はそれを自分で解決しました。

Facebookのログインの仕組みは完全に間違っていましたが、facebook apiで読んだところ、最終的に修正されました。

読み取りと公開の両方のアクセス許可が必要な場合は、別々のアクセスで要求する必要があります。私が最初にアプリケーションにログインするとき、私はloginManagerで読み込み権限を求めます(前と同じです)。ユーザーがFacebookにコンテンツを投稿したときにのみ、ユーザーに公開権限があるかどうかがチェックされます。そうでなければ、私は新しいloginManagerを起動し、それを求めます。

ユーザーはすでに一度ログインしているため、ユーザーは公開権限を承認するだけで済みますので、面倒なことはありません。

関連する問題