2012-10-29 71 views
1

我已經創建了一個沒有特殊權限的應用程序。有了這個應用程序,我查詢Facebook活動以顯示在我的網站上。這一切都很好。PHP Facebook FQL查詢公衆注意

我現在想擴展網站,顯示我的粉絲頁面的Facebook註釋。當我試圖實現,我得到錯誤信息:

「要求用戶會話」

他們說FQL-Note的API參考「如果它是一個頁的書面公衆注意到任何有效的access_token。」我想我有一個有效的公共令牌。

require '../src/fb-sdk/src/facebook.php'; 

$facebooknotes = new Facebook(array(
    'appId' => 'xxxxxxxxxxxxxxx', 
    'secret' => 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', 
    'cookie' => false, // enable optional cookie support 
)); 

$fql_notes = "SELECT uid, note_id, title, content, content_html, created_time, updated_time FROM note WHERE uid = 149018831796518"; 

$param = array(
'method' => 'fql.query', 
'query'  => $fql_notes, 
'callback' => '' 
); 

$fql_notesResult = $facebooknotes->api($param); 

foreach($fql_notesResult as $keys => $fbnotevalues){ echo "<h2>" . $fbnotevalues['title'] . "</h2>" . $fbnotevalues['content_html']; } 

有人可以幫忙嗎?

問候,

邊敲擊

回答

0

FQL似乎並沒有能夠獲得一個頁的筆記。 uid字段正在查找用戶標識。我的猜測是,如果你有適當的訪問令牌,你仍然會因爲你的ID不屬於一個頁面而出現錯誤。

要獲取一個頁面的音符,你需要使用圖形API:

$fql_notesResult = $facebooknotes->api('/149018831796518/notes', 'GET'); 
foreach($fql_notesResult as $keys => $fbnotevalues){ 
    echo "<h2>" . $fbnotevalues['subject'] . "</h2>" . $fbnotevalues['message']; 
} 
+0

謝謝你的答案。當我嘗試使用Graph API時,仍然收到錯誤消息:「致命錯誤:未捕獲的OAuthException:請求此資源需要用戶訪問令牌」。 從facebook的文檔中,我認爲查詢此信息不需要「用戶訪問令牌」。 – rimshot

+0

我做了更多的研究。這是一個已知的錯誤。我已經提交了一個repro反對它。你也應該。當然,自從2012年2月13日起,它就被人們所知,所以我會通過存儲一個訪問令牌來完成此查詢。 https://developers.facebook.com/bugs/354464304626449 – cpilko

+0

感謝您的研究。我現在發佈了我的repro。 – rimshot