代码之家  ›  专栏  ›  技术社区  ›  confusedMind

Gmail邮件API在API资源管理器中工作,但在代码C中不工作#

  •  0
  • confusedMind  · 技术社区  · 6 年前

    我正在使用gmail API获取收件箱中所有未读邮件,对其执行一些操作,然后将邮件标记为已读。

    但是,当我执行以下任何操作时:

      var markAsReadRequest = new ModifyThreadRequest { RemoveLabelIds = new[] { "UNREAD" } };
      service.Users.Threads.Modify(markAsReadRequest, "xxx@gmail.com", email.ThreadId)
                                                                            .Execute();
    
      var markemail=new ModifyMessageRequest { RemoveLabelIds = new[] { "UNREAD" } };
      service.Users.Messages.Modify(markemail, "xxx@gmail.com", email.Id)
                                                                         .Execute();
    

    我出错了:

    Google.Apis.Requests.RequestError
    

    权限不足[403] 错误[错误] 消息[权限不足]位置[-]原因[权限不足]域[全局] ]

    问题是我打开api资源管理器并运行相同的请求,它工作正常。 所以不知道我在这里做错了什么。

    gmail.users.threads.modify:
    
    Modifies the labels applied to the thread. This applies to all messages in the thread.
    

    这样可以工作,并将电子邮件标记为未读。

    1 回复  |  直到 6 年前
        1
  •  1
  •   confusedMind    6 年前

    发现问题必须在顶部添加:

      static string[] Scopes = { mailService.Scope.GmailReadonly,GmailService.Scope.GmailModify };