GMail api c++ 示例

GMail api c++ sample

是否有关于如何使用 GMAIL API 阅读 C++ 邮件的示例?

我有 Google CPP 客户端并且有日历样本 运行。想知道是否有类似的 Gmail 示例。

我不知道示例,也没有看到生成的 API,因此您需要自己执行此操作。自己做起来并不难,但不幸的是,如果您需要 API.

的全部内容,可能会变得乏味。

您需要使用 REST 接口将 HTTP 直接与 gmail 通信https://developers.google.com/gmail/api/

您可以随心所欲地执行此操作。使用 C++ 库的 Google APIs,您可以直接使用 HTTP 传输层,也可以在客户端服务库抽象 classes 之上构建。客户端服务库 classes 被设计为代码生成器的目标,但作为起点仍然可能是合理的,因为基础 class 已经做了所有有趣的事情所以你只需要提供它带有特定于 GMail API 的繁琐细节。我会选择哪一个取决于我需要多少 API 以及我是否使用其他 API 以及代码库中的一致性和泛化可能发挥作用的地方。

您可以使用您已经熟悉的日历 API 作为示例。请记住,这是对 API 的完整介绍,您一开始可能不需要它,因此您可能希望在开始时创建一些简化的快捷方式(例如,实现一个参数支持有限的方法)。

您想查看在以下位置实施的服务适配:

https://github.com/google/google-api-cpp-client/blob/master/service_apis/calendar/google/calendar_api/calendar_service.h

https://github.com/google/google-api-cpp-client/blob/master/service_apis/calendar/google/calendar_api/calendar_service.cc

这些文件被划分为对日历中不同资源类型的不同操作。只需选择一种方法类型(例如 CalendarListResource_ListMethod)并查看它的日历 REST API (https://developers.google.com/google-apps/calendar/v3/reference/#CalendarList) to follow along. Then use that as an analogy to a corresponding Gmail REST API (I'm guessing https://developers.google.com/gmail/api/v1/reference/users/messages)

请注意,您不需要为 API 专门化数据 object(这是生成的大部分 class),您可以在这些方法中使用一些快捷方式object 实现,如果你一开始没有实现整个 API。但也许遵循生成代码的模式,直到您感到舒服为止,这样您就不太可能引入破坏基础的不一致 class.

最后 "all you are doing" 使用 REST 样式模式发送 HTTP 消息,并获取响应。基础 class 具有所有样板启发式方法,并且 protocol/encodings 已经实现,但需要您提供特定的 URL、有效负载和偶尔 header 然后解释 HTTP 响应主体的语义API您正在打电话。