特定のユーザーからメッセージを取得することはできますか?
受信者が自分で x であるすべてのメッセージを取得したい場合
そのようなクエリを作成する方法が見つかりませんでした。それは可能ですか?
var fbid = your_fbuid_here;
FB.api({
method: 'fql.query',
query: 'SELECT thread_id, author_id, created_time FROM message WHERE thread_id IN (SELECT thread_id FROM thread WHERE folder_id = 0) AND author_id = ' + fbid + ' ORDER BY created_time ASC LIMIT 1'
}, function ( threadresponse ) {
FB.api({
method: 'fql.query',
query: 'SELECT thread_id, body, author_id, created_time FROM message WHERE thread_id = ' + threadresponse[0].thread_id + ' ORDER BY created_time ASC'
}, function ( inboxresponse ) {
//do stuff here with results
});
});
または、これを行うことができます
var fbid =the _freind_fb_uid_here;
FB.api({
method: 'fql.query',
query: 'SELECT thread_id, body, author_id, created_time FROM message WHERE thread_id IN (SELECT thread_id FROM thread WHERE folder_id = 0) AND author_id = ' + fbid + ' ORDER BY created_time DESC'
}, function ( threadresponse ) {
//do stuff here with results
});
facebook facebook-fql facebook-api facebook-graph-api facebook-fql-query
現在、FQL にはフィールドauthor_id
がなく、 と のみがoriginator
ありsnippet_author
ます。しかし、このフィールドには間違ったデータが含まれています。たとえば、userA は私 (userB) にメッセージを送信します: userA はスレッドを作成します。とにかく、その発信者には私 (userB) がいます。
最良の使用方法recipients
:
SELECT recipients,snippet,object_id,updated_time,unread,unseen,thread_id FROM thread WHERE folder_id=0 AND recipients IN (userA_fid, userB_fid)
しかし、それも機能せず、空のデータを返します...