如何从429资源还原已用尽例如检查配额

问题描述

我的问题很简单,我正在使用PEOPLE API,并且跳过了使用该API的一个用户的配额限制,该错误仅在尝试为此特定用户创建新联系人时显示

错误显示代码:429,消息:资源已用尽(例如检查配额)。

  1. 如何恢复用户以再次使用API​​?
  2. 如果每分钟重置一次限制,那么三天后用户仍然有可能被阻止吗?

我不想增加配额,我想要再次恢复配额。 此外,在开发人员面板中,没有任何迹象表明我已经超出了PEOPLE API的配额,该配额限制为每分钟90个。

我的代码是:

const request = {
    requestBody: contact
}

service.people.createContact(request)
                        .then((res)=>{
                            console.log('Done to create a contact',res.data);
                        })
                        .catch((err)=>{
                            console.log('Error',err);
                        })

重新调整的按摩是:

response: {
config: {
  url: 'https://people.googleapis.com/v1/people:createContact',method: 'POST',paramsSerializer: [Function],data: [Object],headers: [Object],params: [Object: null prototype] {},validateStatus: [Function],body: '{"names":[{"familyName":"PASIEGA","givenname":"HOTEL","middleName":"VILLA","unstructuredname":"HOTEL VILLA PASIEGA"}],"addresses":[{"type":"home","streetAddress":"LAS BARRERAS,SN","city":"HOZNAYO","region":"S","postalCode":"39716","country":"ESPAÑA","countryCode":"ES"}],"emailAddresses":[{"value":"reservas@grupolospasiegos.com","type":"work"}],"phoneNumbers":[{"value":"785 52 12 58","type":"Villa Pasiega"},{"value":"785 52 12 58","type":"workFax"}],"biographies":[{"value":"Hotel los Pasiegos - Grupoo los Pasiegos","contentType":"TEXT_PLAIN"}],"urls":[{"value":"http://grupolospasiegos.com/contacto/","type":"profile"}],"organizations":[{"type":"Other","name":"HOTEL VILLA PASIEGA","title":"RESERVA"}],"memberships":[{"contactGroupMembership":{"contactGroupResourceName":"contactGroups/199bb8970e07b6a8"}},{"contactGroupMembership":{"contactGroupResourceName":"contactGroups/55fdbf598e048c03"}},{"contactGroupMembership":{"contactGroupResourceName":"contactGroups/5ee644148f02b901"}}]}',responseType: 'json'
},data: { error: [Object] },headers: {
  'alt-svc': 'h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"','cache-control': 'private',connection: 'close','content-encoding': 'gzip','content-type': 'application/json; charset=UTF-8',date: 'Thu,22 Oct 2020 12:47:16 GMT',server: 'ESF','transfer-encoding': 'chunked',vary: 'Origin,X-Origin,Referer','x-content-type-options': 'nosniff','x-frame-options': 'SAMEORIGIN','x-xss-protection': '0'
},status: 429,statusText: 'Too Many Requests'


},config: {
url: 'https://people.googleapis.com/v1/people:createContact',data: {
  names: [Array],addresses: [Array],emailAddresses: [Array],phoneNumbers: [Array],biographies: [Array],urls: [Array],organizations: [Array],memberships: [Array]
},headers: {
  'Accept-Encoding': 'gzip','User-Agent': 'google-api-nodejs-client/0.7.2 (gzip)',Authorization: 'Bearer ya29.a0AfH6SMAJtuUp3vLhSXlDVyAd80iQc1D-mYZUD7mENq12vTiegBAV834dTGYbpuuVN9wCpJ0JBB51oMwEozhb9_xoM7s9NTiwqBicNYZAjzPpjLL4MvQUp8b-Oqju8opyNwDAJWCnLvUJ5Bvz266z5H1ZXIpe3_YstXDRzw','Content-Type': 'application/json',Accept: 'application/json'
},"phoneNumbers":[{"value":"942 525 962",{"value":"942 525 963",code: 429,errors: [
{
  message: 'Resource has been exhausted (e.g. check quota).',domain: 'global',reason: 'rateLimitExceeded'
}

] }

下面的图像可以看到我的开发人员Google控制台,它显示我在2天的时间内仅使用了25个createContact请求,并带有100%错误消息,该消息是此处的消息。 image

顺便感谢您的帮助。

解决方法

我已经找到问题的解决方案,并且在解释该解决方案时我必须要多做一些。

每个google用户在其contacts.google.com帐户中可以存储的联系人数量都有一个限制,该限制为25,000个联系人,如果超过此限制,People API中显示的错误为429 = 请求太多,我的用户只有9000个联系人,因此限制不是问题的根源,但它没有考虑的是,几周前Google在联系人列表中为联系人删除了一个联系人。 com,看起来每个已删除的联系人都已存储并计为contact.google.com中的联系人。这就是我发生的事情。

摘要:

我的用户有9,000个可见的联系人和16,000个已删除的联系人,总共提供25,000个联系人,每次尝试创建新的联系人时都会显示错误429。

解决方案:

删除所有已删除的联系人,所有问题都应解决。

希望:

Google允许访问已删除购物篮中的联系人的People API,而错误429可以更好地解释它所指的cuz,因为在这种情况下,这不是配额问题。

重要提示:

非常感谢@ ale13提供帮助的意图,如果将来的开发人员遇到相同的问题,我将在此保留。