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

ECONNRESET和SOCKET挂起错误时,试图发送请求到谷歌API与node.js

闻人思聪
2023-03-14

我正在使用谷歌的节点。js API库将产品数据发送到google商家中心。在大约30%的请求中,我收到以下错误:

  • 请求https://www.googleapis.com/content/v2.1/products/batch失败,原因:套接字挂起
  • 请求https://www.googleapis.com/content/v2.1/products/batch失败,原因:读取EconReset

我认为原因可能是请求被发送到fast,并且API的配额限制被打破。我可以使用哪种方法限制对API的请求数?我试过了

setTimeout(() => { null }, 3000);

每次在发送API请求之前,但看起来没有任何变化。

共有1个答案

秦博达
2023-03-14

这是解决这个问题的办法。我添加了一个wait方法,它返回一个promise。

js prettyprint-override">while((batchOffset + batchSize)  <= products.length) {

      const entries = [];
      const productsBatch = products.slice(batchOffset, (batchOffset+batchSize));

      // Wait between API calls to avoid hitting Google API quota limits 
      await this.wait(100);

      // Send a batch of n products to Google content API
      contentApi.products.custombatch(
        {
          requestBody: {
            entries: entries,
          },
        },
        (err, res) => {
          // handle err and response
          if (err !== null || res.status !== 200) {
            this.logger.log(
              'error',
              '...'
            );
          } else {
            this.logger.log(
              'info',
              '...',
            );
          }
        },
      );

      batchOffset+=batchSize;

}


......

private wait(ms: number) {
    return new Promise(resolve => setTimeout(resolve, ms))
  }
 类似资料:
  • 我正在获取一条消息,通过gmail API获取完整消息: 我正在传递一条有效的消息。Id号 谷歌。GoogleApiException:“谷歌。API。请求。请求错误 找不到[404] 谷歌。应用程序。请求。请求错误未找到[404]错误[消息[未找到]位置[-]原因[未找到]域[全局]] 这里还有一个问题 有人遇到过这个吗?

  • 我想从谷歌云视觉应用编程接口中获取数据,并看到输入可以以Base64和图像uri格式给出。但是Base64似乎太长了,以uri上传图像需要一些额外的时间。请让我知道,如果有人知道这方面的任何其他工作。

  • 问题内容: 我正尝试从其自己的视图之一向我的Flask应用发送发布请求,但该请求一直挂起,直到我杀死服务器为止。如果我使用JavaScript进行请求,则效果很好。为什么从Python代码中不起作用? 问题答案: 在1.0之前,Flask的开发服务器默认为单线程。在这种模式下,它一次只能处理一个请求。发出请求直到接收到响应为止。您的Flask代码在一个线程中发出一个请求,然后等待。没有其他线程可以

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

  • 我已经成功地集成了谷歌api登录和注销,两者都工作正常,但在我登录并尝试刷新网页后。。它显示了下面的错误- 致命错误:未捕获的GuzzleHttp\异常\客户端异常:客户端错误:导致一个响应:{"错误":"invalid_grant","error_description":"坏请求"}在C:\xamppNew\htdocs\real房地产\供应商\guzzlehttp\GuzzleHttp\sr

  • 我想向soap请求发送XML,我使用python请求,如下所示: 当我发送请求时,我会发出以下请求: 我在这样的请求中进行: 我给出了一些错误,比如你不能发送这样的请求。 我意识到我必须发送带有此请求的证书才能获得成功响应 我有<代码>。cer和。crt文件发送,但我这样发送: 并得到以下错误: 更新: 我在PK中使用openssl x509-inform der。cer-输出PK。pem并尝试以