Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 如何通过API 3.0获取用户是否喜欢页面?_Facebook_Api_Facebook Graph Api_Facebook Like - Fatal编程技术网

Facebook 如何通过API 3.0获取用户是否喜欢页面?

Facebook 如何通过API 3.0获取用户是否喜欢页面?,facebook,api,facebook-graph-api,facebook-like,Facebook,Api,Facebook Graph Api,Facebook Like,我发现的所有内容都与旧API而不是3.0有关:\n我需要确定这一点,然后应用程序才会显示正确的消息。您的应用程序需要请求用户喜欢的权限才能执行此操作 然后,您可以使用JavaScript SDK执行以下操作: <script type="text/javascript"> FB.getLoginStatus(function(response) { if(response.authResponse) { token = response.authRespons

我发现的所有内容都与旧API而不是3.0有关:\n我需要确定这一点,然后应用程序才会显示正确的消息。

您的应用程序需要请求用户喜欢的权限才能执行此操作

然后,您可以使用JavaScript SDK执行以下操作:

<script type="text/javascript">
FB.getLoginStatus(function(response) {
    if(response.authResponse) {
        token = response.authResponse.accessToken;
        FB.api('/me/likes', function(response) {
          likes = response.data;
          for(x in likes) {
            page_id = likes[x].id;
            page_name = likes[x].name;
            // check if user is a fan of Coca-Cola
            if(page_id == '40796308305') {
                alert('You like the page:\n ' + page_name);
            }
          }
        }, {access_token: token});
    }
});
</script>

FB.getLoginStatus(函数(响应){
if(response.authResponse){
令牌=response.authResponse.accessToken;
FB.api('/me/likes',函数(响应){
likes=response.data;
for(类似项中的x){
page_id=likes[x].id;
page_name=likes[x].name;
//检查用户是否是可口可乐的粉丝
如果(页面id='40796308305'){
警报('您喜欢页面:\n'+页面名称);
}
}
},{access_token:token});
}
});
或者使用PHP SDK执行以下操作:

<?php
$likes = $facebook->api('/me/likes');
foreach($likes[data] as $like) {
    if(array_key_exists('id', $like)) {
        $page_id = $like['id'];
        $page_name = $like['name'];
        // check if user is a fan of Coca-Cola
        if($page_id == '40796308305') {
            print 'You like the page: ' . $page_name;
        }
    }
}
?>

如果这是针对Facebook粉丝的页面,Facebook会发布一篇文章,介绍如何使用你的页面来实现这一点。您需要解码发送到站点的signed_request http post参数。此页面显示的是PHP。

请检查此项


有没有办法在没有权限请求弹出窗口的情况下完成此操作?我是Facebook API的新手,但我有PHP知识。我尝试过使用它,但没有成功:$user=$facebook->getUser()$创建的时间=$facebook->api(数组('method'=>'fql.query','query'=>'从页面中选择创建的时间,其中uid='.$user'和页面id=111127675620841');您的应用程序是否作为页面选项卡加载到页面中?唯一可能重复的方法是使用权限。否则Facebook不会允许你访问这些数据。那么其他人在没有权限的情况下怎么办呢?