如何使用 facebook fql 获取消息未知收件人的电子邮件或姓名而不是 0?

Posted

技术标签:

【中文标题】如何使用 facebook fql 获取消息未知收件人的电子邮件或姓名而不是 0?【英文标题】:How to get a message unknown recipients email or name instead of 0 with facebook fql? 【发布时间】:2012-09-22 16:59:49 【问题描述】:

如何使用 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", “收件人”:[ 4735804651, 0, 0 ] ]

由于我之前从经典电子邮件客户端向我的 Facebook 地址发送了这条测试消息,我知道谁是这条消息的发件人。 4735804651 是我的 Facebook ID,收件人字段中的最后两个值(零)指的是发件人和另一个不是我朋友的 facebook 用户。 在我发送的原始电子邮件中,我输入了我的@facebook.com 电子邮件和另一个@m.facebook.com 用户电子邮件 每个人都收到了消息。 当我从 FB 界面读取它并飞过发件人姓名时,我可以看到发件人电子邮件地址。 如何通过 facebook api 或 FQL 获取?

谢谢。

【问题讨论】:

【参考方案1】:

您首先必须获取 folder_id 消息在哪里://0 inbox, 1 otubox, 4 updates//

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

【讨论】:

以上是关于如何使用 facebook fql 获取消息未知收件人的电子邮件或姓名而不是 0?的主要内容,如果未能解决你的问题,请参考以下文章

Facebook:如何使用图形 API 或 FQL 获取最近签到的好友列表

如何使用图形 api/FQL 从 facebook 获取过去/结束的公共事件?

如何在不使用 fql 的情况下获取帖子 URL 的 Facebook 点赞、分享和评论计数?

如何从状态中获取用户 ID

通过 FQL 获取 Facebook 上朋友参加的所有活动

iPhone facebook 连接 FQL 查询以获取配置文件 URL