Joh*_*ohn 12 php facebook facebook-graph-api facebook-php-sdk
在图形api中,Pages.isFan方法不起作用,在图形api 中检查页面用户扇形的方法是什么?
谢谢.
ifa*_*our 30
更新2:
要检查当前用户是否是登陆选项卡时Facebook页面的粉丝,请检查此答案.
更新:
您可以使用该likes连接来检查用户是否是页面的粉丝:
https://graph.facebook.com/me/likes/PAGE_ID
&access_token=ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)
这将返回一个空数据数组:
Array
(
[data] => Array
(
)
)
Run Code Online (Sandbox Code Playgroud)
或者如果粉丝:
Array
(
[data] => Array
(
[0] => Array
(
[name] => Real Madrid C.F.
[category] => Professional sports team
[id] => 19034719952
[created_time] => 2011-05-03T20:53:26+0000
)
)
)
Run Code Online (Sandbox Code Playgroud)
这就是我们使用PHP-SDK检查的方式:
<?php
require '../src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
));
$user = $facebook->getUser();
if ($user) {
try {
$likes = $facebook->api("/me/likes/PAGE_ID");
if( !empty($likes['data']) )
echo "I like!";
else
echo "not a fan!";
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_likes'
));
}
// rest of code here
?>
Run Code Online (Sandbox Code Playgroud)
使用JS-SDK的类似脚本:
FB.api('/me/likes/PAGE_ID',function(response) {
if( response.data ) {
if( !isEmpty(response.data) )
alert('You are a fan!');
else
alert('Not a fan!');
} else {
alert('ERROR!');
}
});
// function to check for an empty object
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
代码取自我的教程.
虽然pages.isFan仍在为我工作,但您可以将FQL page_fan表与新的PHP-SDK一起使用:
$result = $facebook->api(array(
"method" => "fql.query",
"query" => "SELECT uid FROM page_fan WHERE uid=$user_id AND page_id=$page_id"
));
if(!empty($result)) // array is not empty, so the user is a fan!
echo "$user_id is a fan!";
Run Code Online (Sandbox Code Playgroud)
从文档:
要阅读page_fan表,您需要:
- 任何有效的,
access_token如果它是公开的(Facebook上的任何人都可以看到).user_likes查询当前用户的权限.friends_likes查询用户的朋友时的权限.
| 归档时间: |
|
| 查看次数: |
21184 次 |
| 最近记录: |