我需要構建一個應用程序,該應用程序將具有三個URL的三個輸入字段。然後,應用程序需要搜索Facebook上的所有公共帖子,並查找發佈該特定網址的用戶。我正在使用此代碼:查詢所有公開的Facebook文章
$q = "http://www.someurl.com";
$search = $facebook->api('/search?q=' . $q .'&type=post&limit=200');
foreach ($value as $fkey=>$fvalue) {
if(isset($fvalue['from']['name']))
{
echo $fvalue['from']['name']."<br />";
}
}}
這會打印出發佈一個特定鏈接的200個用戶的姓名。但是,正如我上面提到的,我需要搜索多個URL匹配。通過使用這種方法,我需要進行三個查詢調用,然後交叉引用結果並獲取出現在所有三個結果列表中的用戶。有沒有什麼方法可以形成查詢來在一次調用中返回所需結果?我現在認爲FQL是一個強大的工具,但我認爲它不能用於這種公共查詢。我真的只限於公共圖表API?如果是這樣的話,是否有可能僅使用圖形API來形成複雜的查詢?
編輯#1: 我嘗試使用以下FQL:
SELECT source_id FROM stream WHERE
CONTAINS('http://www.incgamers.com/2013/12/doom-20th-anniversary-today-true-classic')
AND CONTAINS('http://kotaku.com/5917693/ten-years-of-civ-ii-lock-the-world-in-perpetual-war')
AND CONTAINS('http://www.youtube.com/watch?v=1TBxdXm3DP0') limit 200
據我所知,這應該返回誰在他們的FB流這三個環節的用戶。但是,情況並非如此。我得到這一切都錯了嗎?
謝謝回答不再是可能的,因爲Facebook的殘疾人公共職位搜索。您是否使用Graph API Explorer工具測試了這個查詢?它應該與我自己的牆上的帖子一起工作,我已將他們的隱私設置爲公開。無論我輸入什麼鏈接組合,我都無法獲得任何結果。我想我們錯過了一些東西...... – Xardas
你說得對。行爲很奇怪!我使用圖形瀏覽器測試了第一個查詢,並且工作正常。但是,它沒有顯示多個網址的結果。 –
我甚至試過'SELECT消息從流WHERE CONTAINS(「http://vimeo.com」)和strpos(消息,'http://vimeo.com')> = 0 AND CONTAINS(「http:// www .youtube.com「)和strpos(消息,'http://www.youtube.com')> = 0',它返回了一些結果。 –