当前位置: 首页 > 知识库问答 >
问题:

使用iOS的Gmail API-获取电子邮件

洪德寿
2023-03-14

我试图了解Gmail API的工作原理。我的目标是在用户的收件箱中检索所有电子邮件的列表,并将其下载到NSArray

目前的工作流程如下:

>

  • 使用Google提供的框架用OAuth 2.0授权我的iOS应用,我已经完成了这一步,我的应用可以成功授权一个gmail帐户。

    下载电子邮件:

    从文档来看,这似乎是显示消息列表的API调用:

    去找https://www.googleapis.com/gmail/v1/users/userId/messages

    我的问题是:

    我是否需要编写自己的Objective-C包装器来调用这个API来下载消息,或者像MailCore这样的东西能让我更容易地做到这一点?据我所知,这个API是取代IMAP的,IMAP是MailCore实现的。

    我知道如何在Python中做到这一点,例如https://developers . Google . com/Gmail/API/quick start/quick start-Python,但我不知道如何将这段代码移植到Objective-C。

  • 共有1个答案

    上官自明
    2023-03-14

    基本工作流程是正确的,您有多种方法来实现您想要的:

    > < Li > < p > Gmail API是一种RESTful API,可用于访问Gmail邮箱和发送邮件。该API支持许多通过Gmail用户界面可用的基本操作,如阅读、撰写和发送邮件。它还允许您管理线索和消息上的标签,并查询特定的消息和线索。

    >

  • 您可以围绕API编写自己的Objective-C包装器,以向API参考中描述的不同endpoint发出正确的HTTP请求,但这是一项繁重的工作,您必须编写所需的一切,错误管理、验证等...

    您可以使用 Google API Client Library for Objective-C,该库推荐用于访问适用于 iOS 和 Mac OS X 应用程序的基于 JSON 的 Google API。此 API 包括对包括 Gmail 在内的许多 Google 产品的支持。

    Gmail支持IMAP和SMTP协议,包括OAuth 2.0授权。

    • 您可以使用任何现有的IMAP和SMTP库,这些库支持您想要的SASL,并且应该与Gmail支持的SASL XOAUTH2机制兼容。例如,您可以按照建议使用MailCore

    在我看来,您正在寻找与Gmail邮箱交互的最简单方法,因此Gmail API是授权访问用户Gmail数据的最佳选择。

    我会选择Objective-C的Google API客户端库,这样您就不必围绕API编写自己的包装器,并且可以开箱即用。

    您看到了检索一页线程的python示例代码:

    threads = gmail_service.users().threads().list(userId='me').execute()
    

    Objective-C的Google APIs客户端库将为您提供多种方法来做同样的事情,比如包含垃圾邮件的可能性

    + (id)queryForUsersThreadsList;
    

    API参考中描述的所有操作都由Objective-C的Google API客户端库支持。

  •  类似资料:
    • 我在我的系统中使用谷歌广告API PHP库。但是我没有在这里提供的API列表中找到以下2个APIhttps://developers.google.com/google-ads/api/docs/account-management/create-account: API,以查明用户是否已经存在使用电子邮件的谷歌广告帐户?如果找到,则返回其10位数的客户ID。 我在几个网站上见过同样的过程。每当用

    • 我一直试图获取电子邮件正文与imap_fetchbody($stream,$msgno,$选项),但没有成功。 然后我尝试使用imap_fetchstructure($stream,$msgno),并使用各自的子类型手动解码每种类型,如:- 对于前两个,我可以用这样的东西来解码 但说到混合,我要么不知道,要么我该怎么办,要么我在哪里犯错。

    • 在上一章中,我们学习了如何查看电子邮件。 现在让我们看看如何获​​取每封电子邮件并阅读其内容。 让我们编写一个Java类FetchingEmail ,它将读取以下类型的电子邮件: 简单邮件 电子邮件附件 使用内联图片发送电子邮件 代码中遵循的基本步骤如下: 获取Session对象。 创建POP3商店对象并连接到商店。 创建文件夹对象并在邮箱中打开相应的文件夹。 检索邮件。 分别关闭文件夹和存储对象

    • 问题内容: 给定Python 2.6中的RFC822消息,如何获得 正确的 文本/纯文本内容部分?基本上,我想要的算法是这样的: 这些事,我和拍下来,但我不太清楚如何从MIME部分解码的文本。我可以使用来获取 编码后的 文本,但是如果尝试使用方法的参数(请参阅doc),则在text / plain部分调用它时会出现错误: “/System/Library/Frameworks/Python.fra

    • 问题内容: 我正在为我的Firebase应用程序构建一个管理面板,希望可以更轻松地管理用户。我希望能够通过电子邮件查找用户,然后在必要时将其删除。我了解,如果注册了用户以及他们向其注册了哪个提供程序,则fetchSignInMethods将返回一个值,但是仍然可以查询Authentication树(而非数据库树)以通过电子邮件搜索用户吗?能够从Authentication节点获取与电子邮件相关联的

    • 问题内容: 在我的Android应用程序中,我开发了此代码以使用我的帐户登录并获取用户属性,例如名称,位置和电子邮件。问题是我可以获取名称,但无法获取电子邮件和位置。当我不加尝试地尝试代码时,发现应用程序崩溃并且我的登录点位于和。当我使用尝试。该应用程序可以运行,但是没有电子邮件或位置。 问题答案: 问题是您没有要求权限: 但是,您使用的是较旧的Facebook SDK,而最新的SDK是4.0。+