【发布时间】:2011-12-20 02:34:30
【问题描述】:
有人知道是否可以通过 imap 或 pop 访问 facebook 消息以在电子邮件客户端中管理 facebook 消息?
【问题讨论】:
标签: facebook imap pop3 email-client facebook-messages
有人知道是否可以通过 imap 或 pop 访问 facebook 消息以在电子邮件客户端中管理 facebook 消息?
【问题讨论】:
标签: facebook imap pop3 email-client facebook-messages
Article 提出了一种读取和存储 facebook 消息的方法:
该过程通过以下步骤完成:
登录:登录可能是比较棘手的部分之一。登录 IMAP 服务器的方式是使用以下命令:
登录用户名密码
列出文件夹:您向 IMAP 服务器发出的命令是:
LIST "" *
由于我们从邮箱文件夹 API 描述中知道,只有 三个文件夹。这些文件夹是:
Inbox (folder_id 0) Outbox (folder_id 1) Updates (folder_id 4)考虑到这一点,我们可以对列表的以下响应进行硬编码 命令:
LIST (\HasChildren) "/" Inbox LIST (\HasChildren) "/" Outbox LIST (\HasChildren) "/" Updates
选择文件夹:在 IMAP 中,您可以使用以下命令选择文件夹:
SELECT folder-name获取消息内容:通过 IMAP 获取消息的关键是一个名为 FETCH 的命令。 FETCH 命令带有很多 不同的模式,但我们将专注于最基本的模式。这些 是(AFAIK)标志、RFC822、RFC822.HEADER、RFC822.TEXT、RFC822.SIZE 和 用户标识符。由于 RFC822 只是 RFC822.HEADER 和 RFC822.TEXT 的组合,我们 少一个变量需要担心。
FETCH UID 让我们从 UID 开始,因为这是最简单的。您可以按如下方式发出此命令:
FETCH 1:6 (UID)预期的结果如下所示:
1 FETCH (UID 1029955483) 2 FETCH (UID 1029955484) 3 FETCH (UID 1029955485) 4 FETCH (UID 1029955486) 5 FETCH (UID 1029955487) 6 FETCH (UID 1029955488)Facebook 的 API 中的等效命令是这样的 (我不确定是否可以组合这样的查询,但你 明白了):
SELECT message_id FROM message WHERE thread_id IN (SELECT thread_id FROM thread WHERE folder_id = 0)然后您将使用该输出作为 UID。
更多操作请到http://www.emailserviceguide.com/2010/01/making-facebooks-messaging-system-imap-compatible/
【讨论】:
不,这是不可能的。只有publicly documented APIs 可用。
尤其看User object的inbox连接
【讨论】: