Facebook への認証に Parse Javascript SDK を使用しています。ログイン後に成功しても、Facebook セッションが作成されません。ここに私が使用するコードがあります、
<div id="fb-root"></div>
<script>
// Additional JS functions here
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({
appId : 'xxxx', // Facebook App ID
// channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow Parse to access the session
xfbml : true // parse XFBML
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
function fLogin() {
Parse.FacebookUtils.logIn(null, {
success: function(user) {
alert("login success with user " + JSON.stringify(user));
if (!user.existed()) {
alert("User signed up and logged in through Facebook!");
} else {
alert("User logged in through Facebook!");
}
//FB.api('/me', function(response) {
// alert("got fb me api=" + JSON.stringify(response));
//});
},
error: function(user, error) {
alert("User cancelled the Facebook login or did not fully authorize.");
}
});
}
</script>
<button class="btn-facebook btn-large" onclick="fLogin();"><img src="./img/fb_icon.png"> <span class="btn-facebook-text">Login with Facebook</span></button>
ポップアップ ウィンドウが開いて Facebook にログインすると、コンソール メッセージ「login success with user」が表示され、アクセス トークンが表示されます。しかし、FB.api ("/me") を呼び出そうとすると... Facebook からのアクセス トークンが無効であるというエラーが表示されます。Facebook に戻ると、Facebook にもログインしていないことがわかります。 ...
このコード全体を FB.init() および FB.login() に置き換えると、問題なく動作します.Parse FacebookUtils に置き換えると、エラーが発生します。
どんな助けでも大歓迎です。