2012-09-22 27 views
1

如何獲得與Facebook FQL消息未知收件人的電子郵件地址或姓名,而不是0?如何獲得與Facebook FQL消息未知收件人的電子郵件地址或姓名,而不是0?

我寫了一些PHP代碼郵件導出在我的Facebook郵箱。 我正在使用FQL。

這是我在API tool explorer中用於獲取給定消息的flq多查詢,包含完整消息和收件人數據。

 
{ 
"threads": "SELECT thread_id FROM thread WHERE folder_id IN (0,1,4)", 
"messages": "SELECT thread_id, message_id, author_id, created_time, body FROM message where thread_id IN (SELECT thread_id FROM #threads) and message_id='249...' ORDER BY created_time ASC", 
"recipients_id": "SELECT thread_id,recipients FROM thread WHERE thread_id IN (SELECT thread_id FROM #messages)", 
"recipients": "SELECT uid, username, name, email, profile_url, pic FROM user WHERE uid IN (SELECT recipients FROM #recipients_id)" 
} 

這裏是我所得到的:

 
{ 
    "name": "recipients_id", 
    "fql_result_set": [ 
     { 
     "thread_id": "26854010378569", 
     "recipients": [ 
      4735804651, 
      0, 
      0 
     ] 
     } 
    ] 
} 

正如我之前發送此測試消息從經典的電子郵件客戶端,到我的Facebook地址,我知道這是誰的郵件的發件人。 4735804651是我的Facebook ID,收件人字段中的最後兩個值(零)是指發件人和另一個不是我朋友的Facebook用戶。 在我發送的原始電子郵件中,我將我的@ facebook.com電子郵件和另一個@ m.facebook.com用戶電子郵件 每個人都收到該消息。 當我從FB界面讀取並飛過發件人姓名時,可以看到發件人的電子郵件地址。 我怎樣才能得到它通過Facebook的API或FQL?

謝謝。

回答

0

你首先必須獲得folder_id哪裏是消息:// 0收件箱,1個otubox,4個更新//

SELECT folder_id, name, unread_count, viewer_id FROM mailbox_folder WHERE viewer_id=me() 

當得到folder_id你可以得到THREAD_ID

SELECT thread_id FROM thread WHERE folder_id = x AND viewer_id=me() 

而與此的thread_id你從它那裏得到的所有消息:

SELECT message_id, author_id, body, created_time, viewer_id FROM message WHERE thread_id = xxxxxxx 

和所有總結:

SELECT message_id, thread_id, author_id, body, created_time, viewer_id FROM message WHERE thread_id in (SELECT thread_id FROM thread WHERE folder_id in(SELECT folder_id FROM mailbox_folder WHERE viewer_id=me()) AND viewer_id=me()) 

對於這一切,你需要令牌的應用程序

你可以在這裏嘗試一下:https://developers.facebook.com/tools/explorer

相關問題