我想创建一个PHP脚本来检查用户是否喜欢页面。如果用户喜欢该页面,他将被重定向到另一个URL,如果没有,则要求用户喜欢该页面,并且会出现Facebook喜欢按钮,以便用户可以喜欢。
请问怎么能做到这一点?我设法掌握了这个脚本并遇到了错误。请帮忙吗?
谢谢
<!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>
仅当您的应用在 Facebook 中作为画布应用或页面选项卡应用运行时,signed_request
参数才可用。如果是这种情况,请阅读此参数以及如何在文档中解释它。
(顺便说一句,仅仅说"我有错误"既不是描述编程相关问题的有用也不是聪明的方式。所以也请阅读 http://facebook.stackoverflow.com/questions/how-to-ask。
如果您的应用程序未在Facebook内运行,那么您必须让用户连接到您的应用程序,获得他的许可以阅读他的喜欢,并自己寻找您的特定页面是否在其中。对于所有这些,请参阅文档。