从标头获取主题

本文关键字:获取 | 更新日期: 2023-09-27 18:26:17

Google.Apis.Gmail.v1.UsersResource.MessagesResource.GetRequest header = new UsersResource.MessagesResource.GetRequest(service, userId, messageId);
header.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Metadata;
header.MetadataHeaders = "Subject";

这就是我到目前为止所拥有的,我所要做的就是返回主题行。我已经搞砸了一段时间,认为这很好,但在下一步找不到任何东西来得到它。

任何帮助,不胜感激。

好的,以防万一其他人需要帮助,完成的代码是这样的:

          Google.Apis.Gmail.v1.UsersResource.MessagesResource.GetRequest header = new UsersResource.MessagesResource.GetRequest(service, userId, messageId);
      header.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Metadata;
      header.MetadataHeaders = new[] {"Subject", "From", "Date"};
      Message Response = header.Execute();
      var reqFrom = Response.Payload.Headers.SingleOrDefault(h => h.Name == "From");
      var reqDate = Response.Payload.Headers.SingleOrDefault(h => h.Name == "Date");
      var reqSubject = Response.Payload.Headers.SingleOrDefault(h => h.Name == "Subject");
      var reqReturn = Response.Payload.Headers.SingleOrDefault(h => h.Name == "Return-Path");
      string from = reqFrom.Value; 
      string date = reqDate.Value;
      string subject = reqSubject.Value;
      string returnEmail = reqReturn.Value; 

从标头获取主题

看起来你已经非常接近了。接下来要执行的一般步骤是从服务请求中打印出有效负载。为此,您通过 Users.messages.Get 的请求是成功的,此方法将在响应正文中返回 Users.messages 资源。以下是我在Python中的表现:

调用用户.消息.获取

message = service.users().messages().get(userId=userId, id=emailID, format='metadata').execute()

打印出"主题"行

print (message['payload']['headers'][#]['value'])

此外,我建议使用下面的 API 资源管理器对实时数据调用此方法并查看响应。希望这有帮助!

https://gist.github.com/robulouski/7441883

这肯定会对您有所帮助。给定的代码是用python编写的,但我认为您将获得一些基本知识。否则,您可以根据需要转换它。

此代码将邮件的所有主题作为您提到的任何文件夹中的输出。