当前位置: 首页 > 知识库问答 >
问题:

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

景胜涝
2023-03-14

我正在使用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.

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

共有1个答案

东方玉泽
2023-03-14

发现问题必须在顶部添加以下内容:

  static string[] Scopes = { mailService.Scope.GmailReadonly,GmailService.Scope.GmailModify };
 类似资料:
  • 我正在构建一个Angular应用程序,它使用由NodeJS和LoopBack构建的REST应用程序接口。当试图创建新记录时,我从我的应用程序和邮递员中都得到了一个奇怪的错误。(属性名称已更改以保护无辜) 以下是我发布的内容: 最奇怪的是,当我试图通过环回API资源管理器运行它时,它运行得很好。我对补丁方法也有同样的问题。 有什么想法吗? 谢谢

  • 我正在尝试实现这个APIhttps://api.bnm.gov.my/portal#operation/ERLatest 根据上面的URL,它的GET请求必须带有值为“application/vnd.BNM.API.v1 json”的Accept-herader 当我尝试与邮递员,可以得到回应- 这就是我所做的,以在我的Spring启动应用程序中获得相同的响应- 但它没有得到正确的回应,我得到的是

  • 我还在StackOverflow上读到,当条件下的资源在数据库中不存在而不是不存在时,应该使用。 处理这个问题的最佳方法是什么?

  • 但是,如果我返回查看菜单>1_Windows_Working_Set,那么我可以看到项目B的关闭文件夹:项目B已关闭

  • 我是计算机视觉新手,还没有真正学习过阈值、模糊或其他过滤器的教程。我使用下面两段代码找出图像中的轮廓。一方面,这种方法是有效的,但另一方面,它不是。我需要帮助理解发生这种情况的原因,以便说服自己背景中发生了什么。 工作代码段: 不工作的代码段 如果有人能找出这里发生的错误的原因,我将不胜感激。 我所面对的错误是: 回溯(最近一次调用last):文件“convexhull.py”,第27行,在im2

  • 我试图完全清理资源组在Azure。 删除资源组不是选项(访问权限:参与者,而不是所有者) 做到这一点的最优雅和明显的方法(也在一些文章中描述)是使用“空”部署模板执行完整的部署: 删除SQL Server开始“...”接受“...”失败“...”开始“...”接受“...”失败“... 你想到主意了。 其他时候效果很好。 您将得到数据库删除的无限循环“开始..接受..失败..开始..接受..失败.