Facebookログインを数日間実装しようとしています。シングル サインオン (SSO) を実装したいのですが、ネイティブの Facebook アプリにログインすると、次のメッセージが表示されます。
"The page you requested cannot be displayed right now. it may be temporarily unavailable,
the link you clicked on may be broken or expired, or you may not have perrmission to view
this page".
ログインについては、Facebookの公式ガイドに従いました。
LoginButton connectToFacebook = (LoginButton) findViewById(R.id.lbConnectToFacebook);
connectToFacebook.setReadPermissions(Arrays.asList("user_relationships"));
UiLifecycleHelper uiHelper = new UiLifecycleHelper(MainActivity.this, callback);
uiHelper.onCreate(savedInstanceState);
また、私は実装しました:
private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {
Log.i("FACE", "Logged in...");
} else if (state.isClosed()) {
Log.i("FACE", "Logged out...");
}
}
private Session.StatusCallback callback = new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
onSessionStateChange(session, state, exception);
}
};
そしてonActivityResultメソッドをオーバーライドしますが、これはネイティブfbアプリからログアウトした場合にのみ機能し、私が言ったように使用しません:
connectToFacebook.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
シングルサインオンしたい。