3つのURLに対して3つの入力フィールドを持つアプリケーションを構築する必要があります。アプリケーションでは、Facebookのすべてのパブリックポストを検索し、その特定のURLを投稿したユーザーを見つける必要があります。私はこのコードを使用しています:すべてのパブリック・フェイスブック・ポストの照会
$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 />";
}
}}
これは、1つの特定のリンクを投稿した200のFacebookのユーザーの名前を印刷します。しかし、私は上記のように、私は複数のURLの一致を検索する必要があります。このアプローチを使用すると、3回のクエリ呼び出しを行い、次に結果を相互参照し、3つの結果リストに表示されるユーザーを取得する必要があります。 1回の呼び出しで必要な結果を返すようにフォームを作成する方法はありますか? FQLは強力なツールですが、このような公開クエリには使用できないと思います。私は本当に公共のグラフのAPIにのみ制限されていますか?そうであれば、グラフAPIのみを使用して複雑なクエリを作成することは可能ですか?
EDIT#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ストリームにこれら三つのリンクを持つユーザーを返す必要があります。しかし、そうではありません。私はこれをすべて間違っていますか?
感謝を検索するので、それはもはや不可能です。 Graph API Explorerツールでこのクエリをテストしましたか?それは自分の壁からの投稿で動作するはずです。私はプライバシーを公開しています。リンクの組み合わせが何であっても結果は得られません。私たちは何かを欠いていると思います... – Xardas
あなたは正しいです。行動は変です!グラフエクスプローラを使って最初のクエリをテストしたところ、うまくいきました。ただし、複数のURLには結果が表示されません。 –
私は、 'CONSTINS(" http://vimeo.com ")とstrpos(message、 'http://vimeo.com')> = 0のストリームからのSELECTメッセージを試してみましたが、" http:// www .youtube.com ")とstrpos(メッセージ、 'http://www.youtube.com')> = 0'となり、結果が返されました。 –