簡體   English   中英

當使用Fetch API調用腳本時,Facebook PHP SDK getSignedRequest()返回null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM