问题描述
我的问题很简单,我正在使用PEOPLE API,并且跳过了使用该API的一个用户的配额限制,该错误仅在尝试为此特定用户创建新联系人时显示。
我不想增加配额,我想要再次恢复配额。 此外,在开发人员面板中,没有任何迹象表明我已经超出了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提供帮助的意图,如果将来的开发人员遇到相同的问题,我将在此保留。