非常にログインしたときから、ウェブサイトでFacebookログインJavaScript SDKを使用していますが、最近Android Facebookアプリ内ブラウザーで動作しなくなりました。ログインボタンをクリックすると、リロードします承認ページに移動するための完全なページ、そして戻ってきて何もない
Facebookが提供するサンプルも同じ問題を抱えており、FB.login関数を使用してテストし、さらにFacebookログインボタン( https://developers.facebook.com/docs/facebook-login/web/login-ボタン )。それらの両方について同じ結果を得ました。ページを更新するだけです。
サンプルコード:
<script>
function LoggedFb(){
FB.login(function (response) {
FB.api(`/me?fields=id,email&access_token=${response.authResponse.accessToken}`, function
(userResponse) {
alert(userResponse.email);
});
}, { scope: 'email' })
}
</script>
コードは、Android Facebookアプリ内ブラウザ以外のすべてのプラットフォームで動作しています。
ありがとう。
私にとって、それは常にループしていました:サインイン、更新、サインインしないでもう一度やり直してください。
FB.getLoginStatus
の代わりにFB.login
を使用してこれを修正できました。
ユーザーがすでにfbを介してログインしている場合、それは通過します。そうでない場合は、1回更新されますが、ログインは機能します。
誰かがこれを修正して、更新がまったく行われないようにしていただければ幸いです。
コード例:
function signIn() {
FB.getLoginStatus((response: any) => {
if (response.status !== 'connected') {
return FB.login((response: any) => {
handleFbResponse(response);
}, {
scope: 'public_profile,email',
enable_profile_selector: true,
auth_type: 'rerequest',
return_scopes: true
});
} else {
handleFbResponse(response);
}
});
}
function handleFbResponse(response) { ... }