我可以使用gmail api和c#从gmail读取消息吗? [英] Can I read messages from gmail using gmail api and c#?

查看:130
本文介绍了我可以使用gmail api和c#从gmail读取消息吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我想使用c#和gmail api阅读我的gmail帐户中的所有消息.
我可以这样做吗?
我在 Gmail API 中阅读了很多文章,但看不到消息.
我也想阅读邮件正文或标头.
如果有人可以帮助我,我将非常高兴:)


I want read all messages in my gmail account using c# and gmail api.
Can I do this?
I read a lot of articles in Gmail API, but i couldn't read messages.
Also I want to read a body of messages or header.
I will be very glad if someone can help me :)

我使用以下代码段:

public static List<Message> ListMessages(GmailService service, String userId)
    {
        List<Message> result = new List<Message>();
        UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);

        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;
    }

这:

foreach (var item in ListMessages(service,"me"))
                MessageBox.Show(item.Snippet);

但是结果是我的消息框为空.

But in a result I have empty message box.

推荐答案

对我有用

 var inboxlistRequest = service.Users.Messages.List("your-email-address");
 inboxlistRequest.LabelIds = "INBOX";
 inboxlistRequest.IncludeSpamTrash = false;
 //get our emails   
 var emailListResponse = inboxlistRequest.Execute();
 foreach (var mail in emailListResponse.Messages)
 {
       var mailId = mail.Id;
       var threadId = mail.ThreadId;

       Message message = service.Users.Messages.Get("your-email-address", mailId).Execute();
       Console.WriteLine(message.Snippet);
 }

这篇关于我可以使用gmail api和c#从gmail读取消息吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆