Доступ к учетной записи Gmail из Google App Engine - PullRequest
1 голос
/ 25 февраля 2012

Я построил IMAP-клиент, используя эту библиотеку:

Gmail IMAP и SMTP с использованием OAuth - библиотеки и примеры http://code.google.com/apis/gmail/oauth/code.html

Мне нужно найти все электронные письма в папке «Входящие» и вернуть только те электронные письма, которые соответствуют моей «теме» и отправлены в последние 24 часа . Получив это письмо, я хочу прочитать тело и выполнить некоторую обработку. Я смог сделать все это, используя вышеуказанную библиотеку, но когда я развернул этот код в GAE, он завершился неудачно с «нарушением безопасности», так как мой код пытается установить некоторые из следующих системных свойств:

props.put("mail.imaps.sasl.enable", "true");
props.put("mail.imaps.sasl.mechanisms", "XOAUTH");
props.put(XoauthSaslClientFactory.OAUTH_TOKEN_PROP, oauthToken);

Какие у меня есть другие альтернативы для достижения этой задачи? Мало кто говорил о ленте RSS. Можем ли мы достичь того, что я ищу, используя эту технику? Будем благодарны за любые входные данные.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 26 февраля 2012

Я слышал, что ContextIO предоставляет API для доступа к учетной записи GMAIL .Я проверил, чтобы получить все контакты, электронные письма, файлы, тело письма успешно.API довольно просты в использовании.Вам нужно несколько шагов, чтобы получить потребительские ключи ContextIO.

Они также предоставляют API для извлечения почты из Google App Engine.В настоящее время я работаю над демонстрацией и, надеюсь, скоро обновлю этот ответ.Тем не менее, это очень просто и интересно сделать:)

Блоги App Engine
Контекст сайта IO

Надеюсь, это поможет

0 голосов
/ 26 февраля 2012

Вы можете использовать скрипт Google Apps, чтобы получить доступ к своей папке входящих сообщений и отправить результат в App Engine. http://code.google.com/googleapps/appsscript/service_gmail.html F.I. Я использую Apps Script с Google Spreadsheets для создания отчетов на основе данных в GAE, используя подпись hmac для аутентификации.

0 голосов
/ 25 февраля 2012

Google App Engine разрешает только обмен http / s через API urlfetch.
Невозможно использовать IMAP на производственных серверах.
Вы можете попробовать использовать urlfetch, используя встроенный в RSS-канал GMail (https://USERNAME%3aPASSWORD@gmail.google.com/gmail/feed/atom).

...