2013-07-02 16 views
6

Sto usando Python/Twisted per effettuare chiamate HTTP asincrone all'API di Google+. Il nostro cliente app passa sopra access_token dell'utente e facciamo una chiamata API per ...La chiave API semplice di Google ha smesso di funzionare

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

... dove% se% s vengono riempiti con un access_token valido e (presumibilmente) valida chiave Simple API, rispettivamente.

Tutto ha funzionato magnificamente ieri. Oggi ho continuato a lavorare sui test di unità per questo quando l'API improvvisamente cominciato a tornare:

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

usageLimits, keyInvalid ... Va bene, ho capito. Ho apparentemente colpito i limiti di utilizzo e hanno le chiavi API invalidate provenienti da questo account. Tranne che non ho ...

Il "limite di cortesia" dovrebbe essere "10.000 richieste/giorno", ma ho solo fatto un paio di chiamate (secondo i grafici di utilizzo di Google), e io vedo ancora "0% usato" nella scheda delle quote.

L'avrei portato direttamente a Google, ma sembra che abbiano abbandonato il proprio gruppo di sviluppatori Google a favore di una discussione Google+ che non riceve effettivamente alcuna risposta.

Qualsiasi aiuto o guida è estremamente apprezzato. Grazie!

risposta

5

La risposta è stata abbastanza semplice! Non è possibile inviare sia access_token che la chiave nella stessa chiamata API. Se si utilizza access_token, si autentica la chiamata API come utente, se si utilizza la chiave API semplice di progetto si autenticherà come se stessi. Se si utilizzano entrambi, la chiamata non riesce.

+0

Puoi presentare una segnalazione di bug in proposito qui: https://code.google.com/p/google-plus-platform/issues/list – ade

+2

[numero 604] (https://code.google.com/pp/google-plus-platform/temi/dettaglio? id = 604) –

8

Solo così siamo chiari, state usando la vostra chiave dalla vostra pagina Google API Console? Lì dovresti vedere una scheda per "Accesso API" vicino all'angolo in alto a sinistra della pagina. Assicurati che la chiave API che stai usando sia la tua chiave Key for browser apps (with referers), altrimenti non funzionerà.

In ogni caso, una chiamata API per me assomiglia a questo:

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

Si dovrebbe essere in grado di fare almeno un'API chiamata al giorno senza una chiave valida.

+0

Grazie per avermi indicato nella giusta direzione! –

1

Questo mi ha preso molto tempo per capire, quindi la speranza di risparmiare un po 'di tempo per qualcun altro :)

Date un'occhiata a Thi spost, da parte del personale di Google (nel 2012 ..) https://groups.google.com/forum/#!topic/google-ajax-search-api/HuKhXfsoMQc

Ci scusiamo per la risposta ritardata. Questo errore (che stiamo lavorando per migliorare la descrittività di) si verifica anche quando si dispone di una limitazione sulla chiave (ad esempio bloccata a un riferimento specifico o all'indirizzo IP ). Confermare che se è stata impostata una tale restrizione nella console delle API , indicare il riferimento o l'indirizzo IP da cui si stanno effettuando le richieste . Presta particolare attenzione ai caratteri jolly usati nel referer - ad esempio, se usi * .abc.com, non funzionerà se la tua richiesta proviene da "yoururl".

sarebbe stato anche perfetto se il team di Google ha risolto questo problema!:)

0

Nel mio caso ho avuto un parametro denominato Key, quindi ha pensato che fosse una chiave effettiva, semplicemente rinominato il parametro.

0

Nel mio caso, ho dovuto attendere qualche minuto perché era poco tempo dopo aver aggiornato il mio API KEY. Ogni volta che crei una nuova chiave o la aggiorni sulla console degli sviluppatori di YT. YT ha fino a 15 minuti per effettuare tutte le modifiche dalla loro parte

Problemi correlati