小编Dav*_*son的帖子

Google Tasks API BatchRequest 触发“批量请求中的重复请求 ID”

从 9 月 13 日开始,Google Tasks BatchRequest 更新工作流程将在多年来保持稳定的应用程序中触发 400 错误返回“批量请求中的重复请求 ID”。我在请求中找不到任何指示重复请求 ID 的内容。有人知道怎么回事吗?谷歌改变了什么吗?

这是我在发送简单的批处理任务插入请求时收到的响应副本......

[{
  "error": {
    "code": 400,
    "message": "Duplicate Request ID in Batch Request: ",
    "errors": [
      {
        "message": "Duplicate Request ID in Batch Request: ",
        "domain": "global",
        "reason": "badRequest"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}]
Run Code Online (Sandbox Code Playgroud)

更新

在调查此问题时,我发现 Google 进行了更改,现在要求Content-ID每个批量请求项上都有标头。当前使用 .Net 类时未设置此标头 Google.Apis.Requests.BatchRequest

为了解决这个问题,我能够创建一个新的 Google.Apis.Requests.BatchRequest 本地实现,并注入一个“Content-ID”标头,然后创建每个请求条目。

private static long _id = 0;

[VisibleForTestOnly]
internal static async Task<HttpContent> CreateIndividualRequest(IClientServiceRequest request)
{
    HttpRequestMessage requestMessage = request.CreateRequest(false);
    string …
Run Code Online (Sandbox Code Playgroud)

c# json google-tasks google-tasks-api

5
推荐指数
1
解决办法
660
查看次数

标签 统计

c# ×1

google-tasks ×1

google-tasks-api ×1

json ×1