从Google App Engine访问Gmail帐户

时间:2012-02-25 18:47:32

标签: python google-app-engine gmail

我使用这个库构建了一个IMAP客户端:

使用OAuth的Gmail IMAP和SMTP - 库和示例 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 个答案:

答案 0 :(得分:3)

我听说 ContextIO 正在提供访问 GMAIL 帐户的API。我已经测试过成功获取所有联系人,电子邮件,文件,电子邮件的正文。 API非常易于使用。您需要一些步骤来获取ContextIO的消费者密钥。

他们还提供了一个API来从Google App Engine中获取邮件。目前,我正在努力带来一个演示,希望很快就会更新这个答案。但是,它非常直接且有趣:)

App Engine Blogs
Context IO's site

希望有所帮助

答案 1 :(得分:0)

Google App Engine只允许通过urlfetch API进行http / s通信 IMAP不能在生产服务器上使用 您可以尝试使用RSS Feed中内置的GMail来使用urlfetch(https://USERNAME%3aPASSWORD@gmail.google.com/gmail/feed/atom)。

答案 2 :(得分:0)

您可以使用Google Apps脚本访问收件箱并将结果发送到App Engine。 http://code.google.com/googleapps/appsscript/service_gmail.html F.I.我使用Google Script with Google Spreadsheets根据GAE中的数据使用hmac签名进行身份验证来生成报告。