Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 获取消息id';gmail的速度非常慢_C#_.net_Gmail Api_Google Api Dotnet Client - Fatal编程技术网

C# 获取消息id';gmail的速度非常慢

C# 获取消息id';gmail的速度非常慢,c#,.net,gmail-api,google-api-dotnet-client,C#,.net,Gmail Api,Google Api Dotnet Client,我使用.net 4.5版创建了类库,语言是c#。仅从gmail API获取6封电子邮件需要几分钟以上的时间。 下面是我用来获取邮件详细信息的代码 public Message GetMailDetails(GmailService service, string EmailId, string MessageID) { try { var a = service.Users.Messages.Get(EmailId,

我使用.net 4.5版创建了类库,语言是c#。仅从gmail API获取6封电子邮件需要几分钟以上的时间。 下面是我用来获取邮件详细信息的代码

public Message GetMailDetails(GmailService service, string EmailId, string MessageID)
{
            try
            {
                var a = service.Users.Messages.Get(EmailId, MessageID);
                a.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Metadata;
                var retMessage = a.Execute();


                //a.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Metadata;
                //retMessage = a.Execute();
                //a.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Minimal;
                //retMessage = a.Execute();
                //a.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Raw;
                //retMessage = a.Execute();
                return service.Users.Messages.Get(EmailId, MessageID).Execute();
            }
            catch (Exception e)
            {
                return null;
            }
 }

你可以做的是尝试使用一种叫做“最简单的测试方法”的东西,这是通过“尝试我”页面,你需要一个消息id来测试它

message.get的完整响应如下所示

{
  "id": "1742abfd3a4f1c5",
  "threadId": "1742a8c81816e51",
  "labelIds": [
    "CHAT"
  ],
  "snippet": "I'm surprised nobody questioned me when I said that the tag was 2 weeks old, but clearly has questions from longer than 2 weeks ago. {:",
  "payload": {
    "partId": "",
    "mimeType": "text/html",
    "filename": "",
    "headers": [
      {
        "name": "From",
        "value": "Axxxx"
      }
    ],
    "body": {
      "size": 139,
      "data": "SSYjMzk7bSBzdXJwcmlzZWQgbm9ib2R5IHF1ZXN0aW9uZWQgbWUgd2hlbiBJIHNhaWQgdGhhdCB0aGUgdGFnIHdhcyAyIHdlZWtzIG9sZCwgYFybHkgaGFzIHF1ZXN0aW9ucyBmcm9tIGxvbmdlciB0aGFuIDIgd2Vla3MgYWdvLiB7Og=="
    }
  },
  "sizeEstimate": 100,
  "historyId": "6172496",
  "internalDate": "1598445048740"
}
{
  "id": "1742abfd3a4f16c5",
  "threadId": "1742a8c181816e51"
}
通过将字段参数添加到request fields=id、threadid,响应如下所示

{
  "id": "1742abfd3a4f1c5",
  "threadId": "1742a8c81816e51",
  "labelIds": [
    "CHAT"
  ],
  "snippet": "I'm surprised nobody questioned me when I said that the tag was 2 weeks old, but clearly has questions from longer than 2 weeks ago. {:",
  "payload": {
    "partId": "",
    "mimeType": "text/html",
    "filename": "",
    "headers": [
      {
        "name": "From",
        "value": "Axxxx"
      }
    ],
    "body": {
      "size": 139,
      "data": "SSYjMzk7bSBzdXJwcmlzZWQgbm9ib2R5IHF1ZXN0aW9uZWQgbWUgd2hlbiBJIHNhaWQgdGhhdCB0aGUgdGFnIHdhcyAyIHdlZWtzIG9sZCwgYFybHkgaGFzIHF1ZXN0aW9ucyBmcm9tIGxvbmdlciB0aGFuIDIgd2Vla3MgYWdvLiB7Og=="
    }
  },
  "sizeEstimate": 100,
  "historyId": "6172496",
  "internalDate": "1598445048740"
}
{
  "id": "1742abfd3a4f16c5",
  "threadId": "1742a8c181816e51"
}
基本上,您只请求要查看的数据字段

例子
当您试图从数组或列表中选择内容时,字段可能会有点棘手。我真的建议您在“尝试我”中进行测试。

听起来您的internet连接有问题。不确定我们如何回答我看不出你发布的代码有什么问题。它可以是任何东西。你知道吗,我如何在这段代码中实现部分响应,以便只提取我需要的参数,不是提取所有数据?根据Gmail API,
list
返回资源只包含一个id和一个threadId-因此至少
list
调用没有返回所有数据。@Shubhamange尝试使用Fields参数,它将允许您限制响应。我添加了用于获取邮件详细信息的代码,可以吗帮助传递fields参数@DaImToi使其如下工作:a.Format=UsersResource.MessagesResource.GetRequest.FormatEnum.Metadata;列表标题=新列表();标题。添加(“日期”);标题。添加(“主题”);标题。添加(“Cc”);标题。添加(“自”);标题。添加(“密件抄送”);标题。添加(“至”);a、 MetadataHeaders=头;