Getting more data from messages.get in C#

隐身守侯 提交于 2020-01-05 12:13:08

问题


I'm having trouble getting more than just the snippet for text data for the message I am trying to retrieve using the Gmail API. Here is the piece of test code I am working with:

    public string GetMail()
    {
        GmailService service = (GmailService)HttpContext.Current.Session["service"];

        Message messageFeed = service.Users.Messages.List("me").Execute().Messages.First();

        UsersResource.MessagesResource.GetRequest getReq = new UsersResource.MessagesResource.GetRequest(service, "me", messageFeed.Id);

        getReq.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Full;
        Message message = getReq.Execute();

        return message.Raw;
    }

For some reason, when I call message.Raw, it is returning null. I am able to retrieve other properties as what the format=minimal setting would based off of the API playground example I was playing with.

However in my code, I am setting the format enum to "full", yet I am still unable to retrieve the full data of the message.

Am I completely missing something here?


回答1:


Seems like you're mixing up formats and response types. If you want the raw message as a string in Message.raw then you need to set:

getReq.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Raw;

If you want the parsed message back (in the "payload" field) then you can use getReq.Format of Full like you have.

Acceptable values are:

  • "full": Returns the parsed email message content in the payload field and the raw field is not used. (default)

  • "minimal": Only returns email message metadata such as identifiers and labels, it does not return the email headers, body, or payload.

  • "raw": Returns the entire email message content in the raw field as a string and the payload field is not used. This includes the identifiers, labels, metadata, MIME structure, and small body parts (typically less than 2KB).

from: https://developers.google.com/gmail/api/v1/reference/users/messages/get



来源:https://stackoverflow.com/questions/24442490/getting-more-data-from-messages-get-in-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!