Доступ к сообщениям Facebook через imap - PullRequest
2 голосов
/ 02 ноября 2011

Кто-нибудь знает, возможно ли получить доступ к сообщениям Facebook через imap или pop для управления сообщениями facebook в почтовом клиенте?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Нет, это невозможно. Доступны только публично документированные API .

См. Особенно inbox соединение Пользовательского объекта

1 голос
/ 23 августа 2014

В этой статье предлагается способ прочитать и сохранить сообщение на 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 и UID. Поскольку 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)

Эквивалентная команда в API Facebook будет выглядеть примерно так (Я не уверен, что возможно объединить подобные запросы, но вы получить представление):

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/

...