Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Gmail API访问消息内容_C#_.net_Gmail Api - Fatal编程技术网

C# 从Gmail API访问消息内容

C# 从Gmail API访问消息内容,c#,.net,gmail-api,C#,.net,Gmail Api,我无法使用gmail API显示消息内容。我已连接到邮箱,正在生成邮件列表,但除ID外,与邮件关联的所有值均为空 生成消息列表的代码取自gmail API网站上的示例代码: public static List<Message> ListMessages(GmailService service, String userId, String query) { List<Message> result = new List<Message>

我无法使用gmail API显示消息内容。我已连接到邮箱,正在生成邮件列表,但除ID外,与邮件关联的所有值均为空

生成消息列表的代码取自gmail API网站上的示例代码:

public static List<Message> ListMessages(GmailService service, String userId, String query)
    {
        List<Message> result = new List<Message>();
        UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);
        request.Q = query;
        do
        {
            try
            {
                ListMessagesResponse response = request.Execute();
                result.AddRange(response.Messages);
                request.PageToken = response.NextPageToken;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
            }
        } while (!String.IsNullOrEmpty(request.PageToken)); 
        return result;
    }
打印信息的代码为:

List<Message> messages = ListMessages(service, "me", ""); 
        Console.WriteLine("Messages from user's inbox:");
        foreach(Message m in messages)
        {
            string snippet = m.Snippet;
            Console.WriteLine("Message: {0}", snippet);
        }

但再一次,当我在打印行放置断点并检查消息列表时,与消息内容相关联的所有值都为null

我明白了;我不说了,因为这不太明显。Had必须在foreach循环中添加get语句,以使用列表中的Id显式获取消息

foreach(Message m in messages)
        {
            Message m2 = service.Users.Messages.Get("me", m.Id).Execute();
            Console.WriteLine("Message: {0}", m2.Snippet);
        }

向上投票,因为问题中的代码帮助我解决了问题: