2016-02-21 18 views
7

Stavo cercando di eseguire l'app di esempio, trovata qui Github Sample, ho creato un certificato e creato una chiave API e applicato come da istruzioni. Ma quando carico l'immagine ottengo questa eccezione. Non so dove ho fatto un errore. Ho perso qualcosa?Autorizzazione dell'API di Google Cloud Vision Autorizzazione negata

failed to make API request because { 
    "code": 403, 
    "errors": [{ 
     "domain": "global", 
     "message": "Requests from this Android client application <empty> are blocked.", 
     "reason": "forbidden" 
    }], 
    "message": "Requests from this Android client application <empty> are blocked.", 
    "status": "PERMISSION_DENIED" 
} 
+1

Qualche fortuna?Sto affrontando lo stesso problema! –

+1

Anche io sto affrontando lo stesso problema. – KnowIT

+1

@ amalan-dhananjayan Qualche possibilità hai impostato l'identificatore del bundle nella chiave API? Immagino che questo potrebbe essere lo stesso problema che stiamo riscontrando per gli esempi iOS. https://github.com/GoogleCloudPlatform/cloud-vision/issues/16 Vedrò se forse c'è un set specifico di librerie client per Android che dovremmo usare al posto di quelle Java. –

risposta

5

Ho avuto lo stesso problema. ma io risolvo questo.

Se si aggiunge la chiave API del browser, il codice funziona correttamente.

+0

La tua risposta è corretta. Funziona ma non è il modo corretto, non possiamo tenere traccia della quota dati correttamente con questa soluzione rapida. @Tim_Swat sta lavorando su questo problema di Google. Grazie amico :) –

+1

Funziona bene e anche l'utilizzo tracciato per il mio caso @AmalanDhananjayan – PSKapadia

+1

come trovare la chiave API del browser ??? – Pranita

0

Che cosa hai modificato nel progetto Android? Assicurati di abilitare l'API di cloud vision e abilitare la fatturazione. Tutto quello che dovevo fare era aggiungere la mia chiave API nel MainActivity usando lo stesso campione di Github.

Date un'occhiata al mio screenshot

+0

, condividendo la mente con quello che hai aggiunto come pacchetto dell'applicazione. Sto affrontando lo stesso problema, la fatturazione è abilitata, ma ogni richiesta non riesce –

+0

sample.google.com.cloudvision è ciò che il campione è venuto con Non ho refactoring il nome del pacchetto per il mio. Spero che questo ti aiuti. – Derivative

+0

Potrebbe aiutarci a risolvere questo. Immagino che dovrebbe avere qualcosa a che fare con l'abilitazione della fatturazione. Ho creato una chiave API e l'ho assegnata alla variabile CLOUD_VISION_API_KEY. Hanno abilitato la fatturazione e il cloud api anche per il mio progetto –

5

Ho il sospetto che si stia creando una chiave API Android, limitata alla propria app, con l'impronta digitale sha1 registrata.

Questo è fantastico! Sfortunatamente, lo non-android-specific Google API java client library non supporta ancora pienamente le richieste API per le chiavi Android API, come lo fa lo android-specific. Ciò significa che le richieste API non includono alcune intestazioni che autenticano la chiave/app all'endpoint dell'API, il che causa tale errore (notare lo client application <empty> nel messaggio di errore - il <empty> sarebbe il nome del pacchetto, se la richiesta è stata formata come previsto).

Sto ancora cercando cosa fare per questo - aggiorno se/quando trovo uno.

+0

Hai avuto fortuna a trovare una soluzione alternativa? –

0

qualche problema qui, e lo aggiusto !!!!!

basta inserire la chiave del server !!

enter image description here

speranza il suo aiuto a qualcuno

0

Credo che con il tasto del browser avrebbe risolto il problema. Ma la vera soluzione a questo sta usando una OAuth Key. Come dovrebbe fare un'app per Android.

  1. Per fare ciò, accedere alla sezione delle credenziali dal menu laterale in Cloud Developer Console.
  2. Fare clic sul menu a discesa delle credenziali e selezionare ID client OAuth.
  3. Seleziona il tipo di applicazione come Android.
  4. Aggiungi un nome adatto come client Android per API Cloud Vision
  5. Inserisci l'impronta digitale SHA1 nel formato desiderato. Utilizzo del comando menzionato sullo schermo.
  6. Inserisci il nome del pacchetto per la tua app, può essere localizzato nel blocco defaultConfig del tuo gradle.
  7. Fare clic su Crea.

Questo è un estratto dal tutorial completo here.

Problemi correlati