繁体   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