Google простой ключ API перестал работать

Я использую Python / Twisted для асинхронных HTTP-вызовов API Google+. Наше клиентское приложение передает access_token пользователя,и мы делаем вызов API...

https://www.googleapis.com/plus/v1/people/me/?%s&key=%s&

... где %s и %s заполняются допустимым ключом access_token и (предположительно) допустимым простым ключом API соответственно.

вчера все работало прекрасно. Сегодня я продолжал работать над модульными тестами для этого, когда API внезапно начал возвращение:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "keyInvalid",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

usageLimits, keyInvalid... Ладно, я понял. Я, казалось бы ударить ограничения и они опровергли ключи API идет с этого счета. Вот только я-нет...

" предел вежливости "должен быть" 10,000 запросов/день", но я сделал только пару сотен звонков (согласно собственным графикам использования Google), и я все еще вижу" 0% используется " на вкладке квот.

Я бы принес это в Google напрямую, но они, похоже, имеют отбросил своих разработчиков Google Group в пользу обсуждения Google+, которое на самом деле не получает никаких ответов.

любая помощь или руководство будет чрезвычайно ценится. Спасибо!

5 ответов


просто, чтобы мы были ясны, вы используете свой ключ из своего консоль Google API страница? Там вы увидите вкладку "Доступ к API" в верхнем левом углу страницы. Убедитесь, что используемый вами ключ API-это ваш Key for browser apps (with referers) ключ, иначе он не будет работать.

во всяком случае, вызов API для меня выглядит так:

https://www.googleapis.com/plus/v1/people/114789529333378876576?key=ENTER_YOUR_KEY_HERE

вы должны сможете сделать хотя бы один вызов API в день без действительного ключа.


ответ был довольно прост! Вы не можете отправить access_token и ключ в одном вызове API. Если вы используете маркер доступа вы проверки подлинности вызовов API, как пользователя, если вы используете ваши проекты простой ключ API вы проверку подлинности как самого себя. Если вы используете оба, вызов завершается неудачно.


это заняло у меня довольно много времени, чтобы понять, поэтому надеюсь сэкономить время кому-то другому :)

взгляните на thi spost, сотрудниками google (в 2012 году..)https://groups.google.com/forum#!тема/Google-ajax-поиск-api/HuKhXfsoMQc

извините за задержку ответа. Эта ошибка (над которой мы работаем над улучшением описательности) также возникает, когда у вас есть ограничение на ваш ключ (например, заблокирован для конкретного референта или IP адрес.) Пожалуйста, подтвердите, что если вы установили такое ограничение в Консоль API, что референт или IP-адрес, который вы делаете запросы от. Обратите особое внимание на любые подстановочные знаки, используемые на referer-например, если вы используете *.abc.com, это не сработает, если ваш запрос поступает от "yoururl".

также было бы здорово, если бы команда Google исправила эту проблему! :)


в моем случае у меня был параметр с именем Key, поэтому он думал, что это фактический ключ, просто переименовал параметр.


в моем случае - мне просто пришлось подождать несколько минут, потому что это было короткое время после обновления мой ключ API. Всякий раз, когда вы создаете новый ключ или обновляете его на консоли разработчика YT. Ыть до 15 минут, чтобы сделать все изменения на их стороне