我想创建一个PHP脚本来检查用户是否喜欢该页面。如果用户喜欢该页面,则会将其重定向到另一个URL,如果没有要求用户喜欢该页面,则会显示facebook like按钮,以便用户可以喜欢。
请问这怎么办?我设法抓住这个脚本并得到错误。有什么帮助吗?
由于
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Facebook "If-Like" Application | ThreeDots</title>
</head>
<body>
<?php
include_once( "facebook.php" );
$fbAppArray = array(
'appId' => 'YOUR_APPLICATION_ID',
'secert' => 'YOUR_APPLICATION_SECRET',
'cookie' => true
);
$fbAppObj = new Facebook( $fbAppArray );
$signedRequest = $fbAppObj->getSignedRequest();
function parsePageSignedRequest()
{
if( isset( $_REQUEST['signed_request'] ) )
{
$encoded_sig = null;
$payload = null;
list( $encoded_sig, $payload ) = explode( '.', $_REQUEST['signed_request'], 2 );
$sig = base64_decode( strtr( $encoded_sig, '-_', '+/' ) );
$data = json_decode( base64_decode( strtr( $payload, '-_', '+/' ), true ) );
return $data;
}
return false;
}
if( $signedRequest = parsePageSignedRequest() )
{
if( $signedRequest->page->liked )
{
// What to show the user if he liked the application...
}else{
// Please like the application so you will be able to see the contents...
}
}
?>
</body>
</html>
答案 0 :(得分:0)
signed_request
参数仅在您的应用作为Facebook内的画布应用或页面标签应用运行时可用。如果是这种情况,请阅读此参数以及如何在文档中解释它。
(顺便说一句,只是说“我得到错误”既不是有用的也不是智能描述编程相关问题的方式。所以请同时阅读http://facebook.stackoverflow.com/questions/how-to-ask。)
如果您的应用不在Facebook内运行,那么您必须让用户连接到您的应用,获得他的读取他的喜欢的权限,并在您的特定页面位于其中时查找自己。尽管如此,请参阅文档。