-2

如何检查我们是粉丝专页还是粉丝专页

id 传递给 page 方法如下:

page_id 或 page_id、page_id2、page_id3

function isFan(a) 
{
    FB.api('me/likes/'+a ,function(response) 
    {
    if (response.data.length == 0) 
    {
        $("#myModal2").modal()   
    }else{
        //OK i like
    }
    });

}    
4

2 回答 2

0

好吧,我实际上不认为您可以在没有自己处理的情况下进行 OR。但是您可以使用 fql 查询来检索某人喜欢的所有页面的列表,然后检查它们是否与每个页面匹配。

eg // 这会给你所有的用户粉丝页面喜欢

  FB.api('/fql?q=' + urlencode("select page_id from page_fan where uid = me()")function(res){

 });

然后,您将使用自己的代码来验证您的列表是否在返回的数据中。或者,您可以执行类似的操作(确保对查询进行 urlencode)

  fql?q={"isFan":"select page_id from page_fan where uid = me()","myMatches":"select page_id from #isFan where page_id in (page_id1,page_id2)"}

JSON 结果中返回的“myMatches”数组将只包含针对您指定的 id 的点赞。所以检查这个结果集的长度,与你最初拥有的 page_id 数量的长度。

   //pseudo code so prob some syntax errors here
   var page_ids = Array(1,2,3);
   var valid = true;
   var myQuery = ''; // <- your fql query here
   FB.api('/fql?q=' + myQuery, function(res)}
         var matches = res['myMatches'];
         if(matches.length == page_ids.length){
            valid = true;
         }elseif(matches.contains(single_id)){
            //some single id if you only want to check one
            valid = true;
         }else{
            valid = false;
         }
    });

以上显然可以优化,但这只是你的一个起点

于 2013-01-06T21:48:23.290 回答
0

好吧,我做到了,任何人都需要。

function isFan(a) 
{
    var myString = a; 
    var fan_page_id = myString.split(',');

    for (var i=0;i<fan_page_id.length;i++)
    { 
        FB.api('me/likes/'+fan_page_id[i] ,function(response) 
        {
            if (response.data.length == 0) 
            {
                $("#myModal2").modal()   
                brake;
            }else{
                //OK i like
            }
        });
    }
}    
于 2013-01-06T22:25:27.670 回答