【问题标题】:How to set status after email reading from Google Api从 Google Api 读取电子邮件后如何设置状态
【发布时间】:2019-01-26 03:32:39
【问题描述】:

通常在普通邮件中,未读状态将更改为已读 在我们访问该邮件之后,就像如何找到状态一样 在 c# 中阅读 google api 代码中的电子邮件内容时阅读

【问题讨论】:

  • 这不应该是重复的。问题是关于标记邮件阅读而不是实际阅读。这是两个不同的问题。

标签: c# google-api gmail-api


【解决方案1】:

Messages.modify 方法允许您对消息进行更改。您需要修改消息并删除 UNREAD 标签。然后该消息将显示为已读

public static Message ModifyMessage(GmailService service, String userId,
      String messageId, List<String> labelsToAdd, List<String> labelsToRemove)
  {
      ModifyMessageRequest mods = new ModifyMessageRequest();
      mods.RemoveLabelIds = "UNREAD";

      try
      {
          return service.Users.Messages.Modify(mods, userId, messageId).Execute();
      }
      catch (Exception e)
      {
          Console.WriteLine("An error occurred: " + e.Message);
      }

      return null;
  }

无法访问

此方法需要以下访问范围之一

【讨论】:

  • 0 否决票收藏 我正在按照此代码使用 Google API C# 代码在我的 gmail 中将未读电子邮件标记为已读。这是代码返回 service.Users.Messages.Modify(mods, userId, messageId).Execute();但我收到以下错误错误 Google.Apis.Requests.RequestError Insufficient Permission [403] Errors [Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global]] How to resolve this issue for Gmail reading using Google API C#
  • 确保您的范围设置正确检查您应该使用哪些范围的编辑。
  • 我看到了你的更新。但是我在哪里包含这个网址?不可访问此方法需要以下访问范围之一mail.google.comgoogleapis.com/auth/gmail.modify
  • 尝试重新授权用户,然后重试。权限不足意味着您没有权限。听起来您正在使用只读或元数据权限。如果这不起作用,请编辑您的问题并添加您的代码,以便我进行测试。
猜你喜欢
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
相关资源
最近更新 更多