2011-06-09 125 views
0

這是一個新手問題。我無法找到一個例子(用HTML)開始使用Facebook的FQL API。如何讓FQL工作?

這是我目前:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
    <title></title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script> 
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
    <script src="http://connect.facebook.net/en_US/all.js#appId=216492851715113&amp;xfbml=1"></script> 
</head> 
<body> 

<div id="fb-root"></div> 
<script> 
    FB.init({ 
     appId: '216492851******', 
     status: true, // check login status 
     cookie: true, // enable cookies to allow the server to access the session 
     xfbml: true // parse XFBML 
    }); 
</script> 

<script> 
    FB.api(
    { 
     method: 'fql.query', 
     query: 'SELECT name, pic_small FROM user WHERE uid=me()' 
    }, 
    function (response) { 
     alert('Name is ' + response[0].name); 
    } 
); 
</script> 
</body> 
</html> 

而且我希望看到在警告我的名字顯示(因爲我登錄到Facebook的)。

起初我認爲它不工作,因爲我使用本地主機,但我已經修改我的主機文件以匹配我提供給Facebook的URL。

我猜這是一個會話問題,因爲如果我改變了查詢使用硬編碼ID:

'SELECT name, pic_small FROM user WHERE uid=696190859' 

它的工作。

回答

0

嘗試這種情況: http://api.facebook.com/method/fql.query?query=SELECT%20name,%20pic_small%20FROM%20user%20WHERE%20uid=696190859&format=JSON

或更具體地:

查詢: 'SELECT%20name,pic_small%20FROM%20user%20WHERE%20uid =我()'

你需要確保url被編碼。看到這裏: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

希望這樣的作品?

+0

謝謝,我無法讓我()工作壽。我使用了「http://api.facebook.com/method/fql.query?query=SELECT%20name,%20pic_small%20FROM%20user%20WHERE%20uid=me()&format=JSON」,結果是一個空的JSON 。 – 2011-06-10 14:28:30

0

您需要通過調用FB.login()或通過調用FB.getLoginStatus()驗證它們已通過身份驗證,以確保用戶已通過應用程序進行身份驗證。否則,我()不會像您所遇到的那樣存在,因爲他們沒有通過身份驗證。