簡體   English   中英

檢查是否在facebook canvas php sdk 5內

[英]Check if inside facebook canvas php sdk 5

有可能用php sdk 5這樣做嗎? 我的頁面在畫布上運行,我有以下代碼:

$helper = $facebook->getCanvasHelper();
$signedRequest = $helper->getSignedRequest();

if ($signedRequest) 
{
echo 'sidned'.$signedRequest;
die();
}
else
{
echo 'unsigned'.$signedRequest;
var_dump ($_POST);
var_dump ($_GET);
die();
}

它總是返回無符號數組{0}數組{0},即沒有簽名信息,沒有$ POST信息。 我想牢固地檢測我是否在facebook畫布中,並且我在Google上搜索了很多,並且似乎必須一直發布signed_request。 我錯了嗎?

我不知道為什么,但是在Facebook畫布設置中,我必須在URL之前添加“ www”。 這使得POST請求正確。 可能與服務器重定向配置有關,但這超出了我的專業知識范圍,無法正確地研究它。

今天,這是檢查此內容的最佳方法:

$fb = new Facebook\Facebook([
  'app_id' => 'app-id',
  'app_secret' => 'app-secret',
  'default_graph_version' => 'v2.12',
]);

$helper = $fb->getPageTabHelper();

// Obtain a signed request entity from a page tab
$helper = $fb->getPageTabHelper();
$signedRequest = $helper->getSignedRequest();
$payload = $signedRequest->getPayload();

if($payload['page']) {
    // I am under a page
} else {
    // I am inside facebook canvas
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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