2012-09-23 40 views
1

我有一個FQL查詢:的Facebook SDK返回什麼,但圖形API Explorer支持

{"e426262700718049":"SELECT name, start_time, location, creator, pic_square FROM event WHERE eid=426262700718049","c426262700718049":"SELECT name FROM profile WHERE id IN (SELECT creator FROM #e426262700718049)"} 

在圖形API Explorer中工作完全正常,但SDK只返回空數組。用不同的查詢它工作得很好。

這就是我如何實現它:

public function mquery($queries) 
{ 
    $params = array(
      'method' => 'fql.multiquery', 
      'queries' => $queries 
    ); 
    return $this->getFb()->api($params); 
} 

任何想法? :)

+0

務必在圖形瀏覽器選擇你發出帶有SDK查詢相同的應用程序。如果不提交錯誤,結果應該是相同的! –

+0

謝謝我不知道這種可能性。但這不是問題,我試了3種不同的應用程序,他們總是返回預期的數據:/ –

+0

我剛剛在我的SDK配置中更改了應用程序,但它仍然不起作用:( –

回答

0

該問題與權限有關,您可能在嘗試使用SDK檢索數據時未授權用戶。

查詢返回空數據集與圖形API和圖形瀏覽器都,你這回的數據是不提供給未經授權的用戶(這可能是與SDK查詢的情況下)。

如果您在沒有access_token的情況下調用此函數,您將會得到一個例外,但使用SDK使用應用程序access_token默認情況下使用。只要確保先授權用戶查詢即可獲得正確的結果。

BTW,您可以使用圖形API同樣的工作,而不是舊的REST調用:

$fb->api('/fql', array('q'=>'FQL QUERY OR MULTIQUERY')); 
+0

嘿非常感謝,這是一個錯誤問題的sdk,所以我做了我自己:) –

相關問題