2011-07-28 132 views
1

我現在想花幾個小時來檢查當前用戶是否喜歡我的應用程序。 我在登錄時需要「user_likes」權限,但即使當我點擊類似按鈕時,當我檢查用戶是否喜歡帶有isFan或FQL的應用程序時,我仍然得到零喜歡!檢測用戶是否喜歡Facebook應用程序

這是如何我試圖讓用戶是否「喜歡」的應用程序:

$isFan = $facebook->api(array(
    "method" => "pages.isFan", 
    "page_id" => xxxxx, 
    "uid"  => $session 
)); 

if($isFan === TRUE) 
    echo "I'm a fan!"; 

OR

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

print 'likes found: ' . count($likes) . '<br />'; 

兩種方法給我什麼,請如果有一個人能幫助我這將會非常棒!

謝謝! Moti

+0

上的工具,你可以提供你設置$ session的代碼嗎? – squinlan

+0

這是我如何設置會話:$ session = $ facebook-> getUser(); – user310707

+0

您是否嘗試過在Facebook文檔上手動[這裏](https://developers.facebook.com/docs/reference/rest/pages.isFan/)進行測試? – squinlan

回答

5

你想使用頁面ID取代App ID的。我不確定您的信息頁是否爲Facebook頁面(facebook.com/pages/ [PAGE_NAME]/[PAGE_ID])或者您是否擁有非Facebook頁面。

顯然,如果你有一個Facebook頁面,那麼URL末尾的數字就是你的Page ID。否則,如果您有非Facebook頁面,則可以使用圖表獲取您的頁面ID。

https://graph.facebook.com/?id=[PAGE_URL]

使用該ID,而不是應用程序ID,它應該給你正確的結果。可以肯定的嘗試使用Facebook docs

+0

我的應用程序如下所示:http://apps.facebook.com/MY_APPLICATION_NAME,並且沒有提供任何頁面ID ..任何想法? – user310707

+0

你在哪裏放了類似的按鈕?這是您需要ID的頁面。 – squinlan

+0

我把它放在index.php頁面中,但仍然沒有看到頁面名稱..只有apps.face ....用我的名字給了我的應用程序 – user310707

2

您的網頁是公開的嗎?從squinlan在評論中發佈的鏈接:

如果用戶的頁面被設置爲小於每個人的隱私,你必須索要user_likes擴展權限的用戶,包括在API調用中的有效用戶訪問令牌。

因此,當您通過授權流程documented here時,您將最終獲得訪問令牌。然後您可以附加到任何請求您對確保正確的權限被授予:

$isFan = $facebook->api(array(
    "method"  => "pages.isFan", 
    "page_id"  => xxxxx, 
    "uid"   => $session, 
    "access_token" => $access_token 
)); 
+0

我確實要求提供「user_likes」權限..我也使用:hasAppPermission方法進行了檢查,它給了我「真實」,所以沒有問題/ – user310707

+0

您有權限,但是您是否隨請求一起發送訪問令牌? – shanethehat

+0

不......我只是瞭解它..我怎麼發送它?你能給我舉個例子嗎? – user310707

相關問題