Gmail Mail Api 在 Api 资源管理器中工作但不在代码 c# 中

我正在使用 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 explorer 并运行相同的请求,它工作正常。所以不确定我在这里做错了什么。


gmail.users.threads.modify:


Modifies the labels applied to the thread. This applies to all messages in the thread.

这有效并将电子邮件标记为未读。



函数式编程
浏览 170回答 1
1回答

HUX布斯

发现问题必须在上面添加这个:  static string[] Scopes = { mailService.Scope.GmailReadonly,GmailService.Scope.GmailModify };
打开App,查看更多内容
随时随地看视频慕课网APP