2012-01-30 68 views
0

我有這樣的代碼,其正在爲FB API的調用與FQL查詢在Android應用使用FQL

 String fql = "SELECT name,type,page_id FROM page where page_id IN (SELECT page_id FROM page_fan WHERE uid = me())"; 

     Bundle parameters = new Bundle(); 

     parameters.putString("query", fql); 
     parameters.putString("access_token", fb.getAccessToken()); 

     String url = (fql != null) ? "https://api.facebook.com/method/fql.query" : "https://api.facebook.com/restserver.php"; 

     String response = Util.openUrl(url, "GET", parameters); 

     System.out.println(response); 

即時得到響應

<?xml version="1.0" encoding="UTF-8"?><fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"/> 

查詢在FB圖探險家的作品(展示了一些數據)。我也正在使用graph.facebook.com以及其他相同的令牌,並且他們的工作很好。

不知道如何我可以從android做出正確的fql查詢..我已經檢查了所有在SO中給出的例子,但沒有結果。我也嘗試使用URLEncoder.encode編碼url。

請給我幾點提示,我失蹤了。

+0

嗨路西法,thaks您的評論。你能告訴我,如果有人回答我的問題會有什麼影響?我確實重新掃描了我以前的問題 - 但是我不接受我認爲的答案的那些沒有回答 – AndroidGecko 2012-01-30 14:22:28

+0

好。找到了答案。將在5小時後發佈封鎖通過 – AndroidGecko 2012-01-30 15:09:00

回答

2

好的。我想到了。所以..

首先..我發佈的代碼不是與fb api所說的Android版本兼容。注意使用openUrl而不是Facebook代碼。 要使用FB用它也有做的幾個方面,這..這就是其中之一

String fql = "SELECT name,type,page_id FROM page where page_id IN (SELECT page_id FROM page_fan WHERE uid = me())"; 

Bundle parameters = new Bundle(); 

parameters.putString("query", fql); 
parameters.putString("method", "fql.query"); 
parameters.putString("access_token", fb.getAccessToken()); 

String response = fb.request(parameters); 

這樣做以後。因爲我得到的迴應「[]」,這意味着,答案是JSON到達只是沒有數據作爲fql的結果被檢索到。 對我來說,我必須添加權限,同時授權fb ..以便用戶喜歡的頁面被檢索

+0

您添加哪些權限以獲取數據? – MKJParekh 2013-01-21 14:17:54

+1

mFB.authorize(this,new String [] {FACEBOOK_PERMISSION},new LoginDialogListener()); FACEBOOK_PERMISSION =「user_likes,email」; – AndroidGecko 2013-01-22 11:25:54

+0

感謝您的回覆。 – MKJParekh 2013-01-22 12:14:48