1

FQLを使って検索しようとしています。Graph API を使用すると機能しますが、FQL を使用するオプションが他にもあります。のようなものを使用して

https://graph.facebook.com/search?q=myquery&access_token=mytoken

それはうまくいきます。

FQLで同等のものを探しています。

ここにどのようなクエリを記述しなければならないか

https://api.facebook.com/method/fql.query?query=SELECT%20post_id%2C%20actor_id%2C%20target_id%2C%20message%20FROM%20stream&access_token=mytoken

上記のクエリは私にそれを与えます

Parser error: unexpected end of query

すべての公開投稿を検索したい。私はいたるところを見てきましたが、解決策は見つかりませんでした。

ありがとう。

4

1 に答える 1

4

文字列の公開投稿を検索するには、Graph API を使用し、スクリプトでそれらの投稿をフィルター処理する必要があります。FQL ですべての公開投稿を検索することはできないと思います。FQL はより強力ですが、より限定的でもあります。

クエリに「WHERE」句がないため、エラーが発生しています。これは FQL で必要です。

WHERE クエリで少なくとも 1 つのインデックス付き列を使用する必要があるため、制限が発生します。ストリーム テーブルの場合、 経由で投稿、 またはpost_id経由でユーザー、source_idまたは経由filter_keyでライブ ストリームを指定する必要がありますxid。索引付けされたフィールドは*、ドキュメンテーション・サイトで でマークされています。

たとえば、[この FQL][1]

SELECT post_id,actor_id,target_id,message FROM stream WHERE filter_key = 'others' 
   AND strpos(message, 'the') >= 0

アクセストークンの所有者のウォールに表示されている、所有者によって投稿されていないすべての投稿を取得します。それはあなたが得ることができる最高のものです。投稿が相手のウォールに表示されていない場合、投稿は取得されません。

インデックス付きフィールドを除外しようとすると、FQL は「Your statement is not indexable」エラーをスローします。

[1]: SELECT post_id,actor_id,target_id,message FROM stream WHERE filter_key = 'others' and strpos(message,'the') >=0

于 2012-09-13T15:39:54.697 に答える