2012-02-12 56 views
1

是否可以从特定用户获取消息?是否有方法从特定用户获取消息

如果我想获得的所有消息有收件人自己和X

我没有找到一个方法来创建一个类型的查询,所以这可能吗?

+0

所以是有可能得到该线程不知何故? – 2012-02-12 11:49:10

回答

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

嗯,这返回我的第一个线程,这不是我要找的。 – 2012-02-18 16:24:27

+0

your_fbuid是您希望匹配消息的人之一。第一个查询是从线程fql获取thread_id,第二个是获取所有消息。 – 2012-02-19 23:32:09

+0

好吧,我也可以是消息传递线程中的作者,所以这不起作用。 – 2012-04-20 19:03:45

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) 

但它也不起作用,并返回空数据...

相关问题