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

谷歌。应用程序。请求。请求错误404 gmail api

易成双
2023-03-14

我正在获取一条消息,通过gmail API获取完整消息:

   Message msgfull = _gmailService.Users.Messages.Get("me", msg.Id).Execute(); 

我正在传递一条有效的消息。Id号

谷歌。GoogleApiException:“谷歌。API。请求。请求错误

找不到[404]

谷歌。应用程序。请求。请求错误未找到[404]错误[消息[未找到]位置[-]原因[未找到]域[全局]]

这里还有一个问题

有人遇到过这个吗?

共有1个答案

宋稳
2023-03-14

这是“设计”,根据留档历史ID按时间顺序增加,但不与有效ID之间的随机间隙相邻。

这不是API中的错误,并记录在https://developers.html" target="_blank">google.com/gmail/api/v1/reference/users/history/list

在此处查看更多信息

因此,如果您正在执行以下步骤:

  1. 在第一步中,通过history API(及其消息ID)获取这些消息中的HistoryID,这些消息在7天之前发出,然后历史记录结果可能包含不同步,包括附加的消息ID和历史记录ID

一种可能的解决方案是仅通过调用用户获取消息的消息ID。消息。列表(“me”),而不是依靠历史查询。

无论如何,这看起来像是Google API方面的一个错误,导致用户无法依赖过去超过1周的历史结果。

详细信息:返回指定StartThistoryId之后的历史记录。应从消息、线程或以前列表响应的历史ID中获取提供的StartThistoryID。历史ID按时间顺序增加,但在有效ID之间没有连续的随机间隙。提供无效或过期的startHistoryId通常会返回HTTP 404错误代码。historyId通常至少在一周内有效,但在某些罕见的情况下,可能只在几个小时内有效。如果收到HTTP 404错误响应,应用程序应执行完全同步。如果您在响应中没有收到nextPageToken,则没有要检索的更新,您可以存储返回的historyId以供将来的请求使用。

 类似资料:
  • 我有一个nodejs应用程序部署在谷歌应用引擎,它触发超文本传输协议云功能,认为简单的超文本传输协议调用(使用axios)从谷歌云Sql获取数据。 将使用该站点的每个人都将能够看到http请求并复制它。 什么是保护我的谷歌云功能的最好方法,只能从谷歌应用程序引擎调用?

  • 我试图使用c#和谷歌表格api在电子表格中追加一行单元格。我拿到密码了 问题是我得到的唯一一个sheetID来自url,是一个String。在哪里可以找到作为整数的工作表ID以及如何执行AppendCellsRequest? 希望你能帮忙。

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 在GAE中,我只使用默认域名:https://*。appspot。com,所以我不需要生成自签名证书。 谷歌应用程序引擎文档指定应用程序的运行方式。yaml应配置为服务于SSL连接: https://cloud.google.com/appengine/docs/standard/go/config/appref#handlers_secure 但为了在Go中提供HTTPS连接,我编写了以下代码示

  • 问题内容: (我尝试过查找,但所有其他答案似乎都在使用urllib2) 我刚刚开始尝试使用请求,但是对于如何发送或请求页面中的其他内容,我仍然不太清楚。例如,我要 但我不知道现在该如何做,例如,使用显示的搜索栏进行Google搜索。我已经阅读了快速入门指南,但是对HTML POST之类的内容并不十分熟悉,因此它并不是很有帮助。 有没有一种干净优雅的方法来完成我要的内容? 问题答案: 要求概述 Go

  • 大家好,我是新来的AWS,正在尝试在Elastic Beanstalk中部署spring boot应用程序。部署成功,但无法访问应用程序。获取502错误请求网关nginx/1.10.1错误。部署在64位Amazon Linux 2016.09 v2配置上完成。2.0运行Java 8(nginx代理服务器)。有没有办法解决这个问题。在谷歌搜索之后,我发现这是因为端口不匹配。我想知道我应该在哪里更改端