Я хотел получить адрес электронной почты для контактов для пользователя. Я планирую использовать API Google People. Вот моя функция для извлечения:Получите контактные адреса электронной почты с помощью API Google People в Javascript
function makeApiCall() {
gapi.client.load('people', 'v1').then(function() {
var request = gapi.client.people.people.connections.list({
resourceName: 'people/me',
pageSize: 200,
fields: 'connections(resourceName)'
});
request.execute(function(resp) {
if (resp.connections){
var batch = gapi.client.newBatch();
var emails = [];
for(var i = 0; i < resp.connections.length; i++){
var req = gapi.client.people.people.get({
resourceName: resp.connections[i].resourceName,
fields: "emailAddresses(value)"
});
batch.add(req);
req.then(function (email){
var idx = email.body.indexOf("{");
var jsonString = email.body.substring(idx > 0 ? idx : 0);
var obj;
try {
obj = JSON.parse(jsonString);
if (obj.emailAddresses){
for (j = 0; j < obj.emailAddresses.length; j++){
emails.push(obj.emailAddresses[j].value);
}
}
} catch (err) {
console.error(email);
}
})
}
batch.then(function(){
console.log(emails);
}, function (err){
console.error(err);
});
} else {
console.error("Error", resp);
}
});
}, function (err){
console.error(err);
});
}
В принципе, я выборка 200 соединений, чтобы получить их ResourceName.
Это имя reresourceName будет использоваться для получения адреса электронной почты пользователя.
Я использую пакетный запрос, чтобы получить 200 пользователей электронной почты.
Вопрос заключается в том, что для некоторых пользователей, я получаю следующее сообщение об ошибке:
{
"error": {
"code": 429,
"message": "Insufficient tokens for quota group and limit ReadGroupUSER-100s using the limit by ID [email protected]",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developer console API key",
"url": "https://console.developers.google.com/project/991457241470/apiui/credential"
}
]
}
]
}
}
Что может быть причиной и как я могу решить эту проблему?
Спасибо
Сообщение об ошибке превышает количество запросов, которые ваш клиент может сделать за 100 секунд. Если вы похожи на меня, возможно, вы создали цикл, который случайно сверлит сервер повторно. Извините, я не могу помочь с вашей основной проблемой. –
У меня такая же проблема. Согласно https://console.developers.google.com/apis/api/people.googleapis.com/quotas, ограничение составляет 17 000 запросов за 100 секунд ... я не могу превышать этого, поэтому я не уверен что происходит:/ –
Вы решили эту проблему ?? –