我想创建一个与此页面类似的Facebook应用
https://www.facebook.com/carlorinosg/app_150206515038121
用户点击了,并且页面检查用户是否使用正确的用户ID点击“喜欢”,它将允许用户访问以下内容。
如果我没有弄错的话,所有fb应用程序都要求用户在用户与应用程序交互之前浏览权限页面。
然而,这个应用程序似乎允许用户点击它,它通过$ facebook-> getUser()获取用户ID; (如果我没有记错的话)没有通过许可页面 ..
我想知道如何实现与此Facebook应用程序相同的设计?
为什么UID总是返回null。 ?
下面的代码 <?php
require_once("facebook.php");
$config = array();
$config['appId'] = 'xxx';
$config['secret'] = 'xxxx';
$config['fileUpload'] = false; // optional
$facebook = new Facebook($config);
$fql = 'SELECT uid FROM user where uid = me()';
$ret_obj = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));
var_dump($ret_obj );
?>
答案 0 :(得分:1)
1)如果您需要用户ID或用户信息或来自Facebook的任何类型的数据,那么您需要让用户授权该应用。
2)如果您不关心查看应用程序的用户是谁,但您想查看用户是否喜欢您的页面,那么您可以使用此代码并在用户喜欢该页面时显示内容。
<?php
require 'facebook/src/facebook.php';
$facebook = new Facebook(array(
'appId' => $CONF['FB_APP_ID'],
'secret' => $CONF['FB_APP_SECRET'],
'cookie' => false,
));
// Get User ID
$user = $facebook->getUser();
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];
if($like_status == 1){
echo 'You liked the page. so you are able to see this';
}else{ echo 'Please like the page to access';
} ?>
3)如果您不关心谁是查看应用程序的用户并且您不希望用户喜欢,请发送html页面。