Facebook page_fan returning NULL, can't check if user likes page

1.1k Views Asked by At

I'm working on a Facebook app and I need to know if the user likes a specific page or not.

I tried using:

$isFan = $facebook->api(array(
    "method" => "fql.query",
    "query"  => "SELECT uid FROM page_fan WHERE page_id = 'SOMEPAGEID' 
                                            AND uid = me()"
));

It returns NULL.

I even tried the javascript SDK:

FB.api('/me/likes/SOMEPAGEID', function(response) {
            console.log(response.data);
        });

It returns nothing.

I'm asking for the following permissions:

$scope = "email,user_likes";

Am I missing something?

Edit: SELECT * was bad copy-paste... it's SELECT uid

1

There are 1 best solutions below

1
On

Your permissions look correct but I don't think that FQL queries actually support SELECT *, you have to manually list the fields

So try changing your FQL query to

 select page_id from page_fan WHERE uid = me() AND page_id = PAGE_ID

Or it might be you haven't encoded your query properly. This runs for me in the graph explorer https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3Dselect%2Bpage_id%2Bfrom%2Bpage_fan%2BWHERE%2Buid%2B%253D%2Bme%2528%2529

  fql?q=select+page_id+from+page_fan+WHERE+uid+%3D+me%28%29

so try using

    $isFan = $facebook->api('/fql?q='.urlencode('select page_id from page_fan WHERE uid = me() AND page_id = PAGE_ID'));