从标头获取主题
本文关键字:获取 | 更新日期: 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编写的,但我认为您将获得一些基本知识。否则,您可以根据需要转换它。
此代码将邮件的所有主题作为您提到的任何文件夹中的输出。