1
我工作的這個Facebook的例子:Getting Access Token From The JavaScript SDK Example來自Facebook的JS SDK傳遞訪問令牌PHP會話或餅乾
我能夠獲得與JS恰到好處Facebook登錄部分。 但我想從PHP的用戶ID和訪問令牌服務器端的操作,如添加,刪除等
這是我的JS部分的正常工作:
function fb_login() {
FB.login(function(response) {
if (response.authResponse) {
$.post("actions.php?js-login").done(function(data){
console.log(data);
});
init_app();
} else {
alert('User cancelled login or did not fully authorize.');
}
});
}
這是PHP一側似乎無法識別cookie或會話的JS應該轉移:
if (isset($_GET['js-login'])) {
$helper = $fb->getJavaScriptHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (! isset($accessToken)) {
echo 'No cookie set or no OAuth data could be obtained from cookie.';
exit;
}
// Logged in
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());
$_SESSION['fb_access_token'] = (string) $accessToken;
exit;
}
我得到的
無法從cookie中獲取cookie或無OAuth數據。
消息,但用戶由JS登錄。
您發現了嗎?在這裏得到了同樣的問題... JS部分工作正常(FB登錄工程),但似乎沒有設置cookie。 – gordie
不得不與JS植入cookie ...它的工作原理,但它不漂亮。 –
根據[此頁](https://www.sammyk.me/best-practice-for-facebook-login-with-the-javascript-sdk-and-php-sdk-v4-1),創建的Cookie名字是** fbsr _ {_ your-app-id _} **。我剛剛檢查過,沒有爲我創建cookie。 – gordie