2

電子メール クライアント内で Facebook メッセージを管理するために imap または pop 経由で Facebook メッセージにアクセスできるかどうかは誰にもわかりませんか?

4

2 に答える 2

3

いいえ、これは不可能です。公開されているAPIのみが利用可能です。

特にUserオブジェクトinboxの接続を参照してください

于 2011-11-02T09:40:19.893 に答える
1

この記事では、Facebook メッセージを読み取って保存する方法を提案します。

このプロセスは、次の手順で行われます。

  • ログイン: ログインはトリッキーな部分の 1 つかもしれません。IMAP サーバーにログインするには、次のコマンドを使用します。

    ログイン ユーザー名 パスワード

  • フォルダーの一覧表示: IMAP サーバーに発行するコマンドは次のとおりです。

    LIST "" *

メールボックス フォルダー API の説明からわかるように、フォルダーは 3 つしかありません。これらのフォルダーは次のとおりです。

Inbox (folder_id 0)
Outbox (folder_id 1)
Updates (folder_id 4)

これを念頭に置いて、list コマンドに対する次の応答をハードコーディングできます。

LIST (\HasChildren) "/" Inbox
LIST (\HasChildren) "/" Outbox
LIST (\HasChildren) "/" Updates
  • フォルダーの選択: IMAP では、次のコマンドを使用してフォルダーを選択します。

    SELECT folder-name

  • メッセージ コンテンツの取得: IMAP 経由でメッセージを取得する際の鍵は、FETCH という名前のコマンドです。FETCH コマンドにはさまざまなモードがありますが、最も基本的なモードに焦点を当てます。これらは(AFAIK)FLAGS、RFC822、RFC822.HEADER、RFC822.TEXT、RFC822.SIZE、およびUIDです。RFC822 は RFC822.HEADER と RFC822.TEXT を組み合わせただけなので、心配する変数が 1 つ少なくなります。

  • 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/でさらに多くの操作を利用できます。

于 2014-08-23T06:20:46.983 に答える