#facebook #imap #pop3 #email-client #facebook-messages
#Facebook #imap #pop3 #почтовый клиент #facebook-сообщения
Вопрос:
Кто-нибудь знает, можно ли получить доступ к сообщениям Facebook через imap или pop для управления сообщениями Facebook в почтовом клиенте?
Ответ №1:
Нет, это невозможно. Доступны только общедоступные API-интерфейсы.
Смотрите, в частности inbox
, подключение объекта User
Ответ №2:
В этой статье предлагается способ чтения и сохранения сообщений Facebook:
Процесс выполняется с помощью следующих шагов:
- Вход в систему: вход в систему может быть одной из самых сложных частей. Для входа на сервер IMAP используется следующая команда:
ЛОГИН имя пользователя пароль
- Список папок: команда, которую вы должны отправить на сервер IMAP, это:
LIST "" *
Поскольку мы знаем из описания API папок почтовых ящиков, существует только три папки. Эти папки:
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), RFC822, RFC822.HEADER, RFC822.TEXT, RFC822.SIZE и UID. Поскольку RFC822 — это просто RFC822.HEADER и RFC822.TEXT вместе взятые, у нас на одну переменную меньше поводов для беспокойства.
- ИЗВЛЕЧЕНИЕ 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)
Затем вы будете использовать этот вывод в качестве идентификатора пользователя.
Дополнительные операции доступны в http://www.emailserviceguide.com/2010/01/making-facebooks-messaging-system-imap-compatible /