【问题标题】:Accessing Gmail account from Google App Engine从 Google App Engine 访问 Gmail 帐户
【发布时间】:2012-03-15 20:39:25
【问题描述】:

我使用这个库构建了一个 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 提要。我们可以使用这种技术实现我想要的吗?任何意见将不胜感激。

谢谢。

【问题讨论】:

标签: python google-app-engine gmail


【解决方案1】:

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

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

App Engine Blogs
Context IO's site

希望对你有帮助

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 谢伊,非常感谢您的回复。这个 RSS 提要提供了关于我正在寻找的电子邮件的最少信息。我如何访问特定电子邮件的内容,因为 标签只给出几个字(1 行左右)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多