2012-02-12 5 views
1

特定のユーザーからのメッセージを取得することは可能ですか?特定のユーザーからのメッセージを取得する方法はありますか

私はそれは可能ですか?、私は、クエリのようなものを作成する方法を見つけることができませんでした受信者は自分自身とのx

あるすべてのメッセージを取得したい場合

+0

だから、何とかそのスレッドを取得することは可能でしょうか? –

答えて

1
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 
        }); 

+0

ええと、これは私の最初のスレッドを返します、それは私が探しているものではありません。 –

+0

your_fbuidは、メッセージに一致させたい人の1人です。最初のクエリはスレッドfqlからthread_idを取得し、2番目のfqlはすべてのメッセージを取得することです。 –

+0

よく私はメッセージングスレッドの作者かもしれないので、これはうまくいきません。 –

0

今FQLが持っていないフィールドauthor_id、唯一originatorsnippet_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) 

しかし、それはまた、空のデータを仕事と返さないです...

関連する問題