[英]Facebook PHP SDK getSignedRequest() returns null when script called with Fetch API
我正在使用Facebook Web SDK。 我正在使用v5 PHP SDK,因此我檢查用戶是否通過調用getSignedRequest()登錄。 問題是,當用戶登錄並直接在Web瀏覽器中調用腳本時,它成功地發現用戶已登錄,但是當我使用Fetch Api調用腳本時,getSignedRequest()返回null。 代碼看起來像這樣
$fb = new Facebook([
'app_id' => {app_id},
'app_secret' => {app_secret},
])
$helper = $fb->getJavaScriptHelper();
$sr = $helper->getSignedRequest();
if(!$sr){
var_dump('not logged in');
} else{
var_dump($sr->getUserId());
}
就像我說過的那樣,當通過在Web瀏覽器中調用url手動調用此方法時,它將返回已登錄用戶的用戶ID。 但是,當使用Fetch Api調用url時,getSignedRequest()返回null並轉儲“未登錄”字符串。 當我在獲取網址之前在js中調用FB.getLoginStatus()時,它說用戶已“連接”。 真的無法弄清楚是什么原因引起的。
解決:默認情況下,抓取功能不會發送用戶識別所需的Cookie。
問題解決了。 默認情況下,抓取功能不會發送用戶識別所需的Cookie。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.