【问题标题】:Facebook Messages access via imap通过 imap 访问 Facebook 消息
【发布时间】:2011-12-20 02:34:30
【问题描述】:

有人知道是否可以通过 imap 或 pop 访问 facebook 消息以在电子邮件客户端中管理 facebook 消息?

【问题讨论】:

    标签: facebook imap pop3 email-client facebook-messages


    【解决方案1】:

    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/

    【讨论】:

      【解决方案2】:

      不,这是不可能的。只有publicly documented APIs 可用。

      尤其看User objectinbox连接

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-26
        • 2020-10-09
        • 2016-10-13
        • 2019-03-31
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 1970-01-01
        相关资源
        最近更新 更多