2012-06-15 15 views
12

Ehi Ho appena scaricato e creato il progetto di esempio di youtube da http://code.google.com/p/gdata-objectivec-client/source/checkout L'applicazione si integra e ho inserito l'id e il segreto del client. Poi, quando ho il login con il mio account YouTube e clicca su "consenti" pulsante ottengo questo erroreottenendo l'errore "invalid_client" nel campione gdata-objectivec-client

Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6a03a350 {data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>, json=<CFBasicHash 0x6a01b6b0 [0xac0251a0]>{type = mutable dict, count = 1, 
entries => 
2 : <CFString 0x6a01b720 [0xac0251a0]>{contents = "error"} = <CFString 0x6a054b90 [0xac0251a0]>{contents = "invalid_client"} 

o dal registro Xcode:

2012-06-15 10:49:30.627 YouTubeSample[976:b03] Error Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6980d2c0 {data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>} 
Error data: 
{ 
error = "invalid_client"; 
} 

Ho provato a generare e inserire nuovi ids client ai inutilmente. Sembra che il segreto non venga inviato correttamente perché ottengo lo stesso risultato se lo corrompono deliberatamente o addirittura lo lasciano vuoto.

Qualche suggerimento?

+0

Come posso ottenere client-id .. e se hai completato con successo l'API GDATA, per favore condividi il tuo codice di esempio. –

+0

Anche a volte ho questo errore. E poi funziona magicamente un paio di minuti dopo. Come se fosse un problema di connessione. Non ho trovato una soluzione fino a questo momento –

risposta

0

L'ID cliente e segreto devono essere emessi dal Google API console, specificamente per le applicazioni installate (non per le applicazioni web.)

+1

Sì, l'ho fatto. In realtà abbiamo un campione di codice diverso che lavora con lo stesso ID e segreto, quindi non penso che questo sia il problema. Vorremmo far funzionare il codice di esempio, poiché vorremmo utilizzare la funzione di caricamento ripristinabile implementata nell'esempio. Ma qualunque cosa provi, non riesco a far funzionare questo codice. Ho provato a creare nuovi segreti e sono sicuramente impostati su "applicazione" e non sul web. Sembra che il segreto non sia stato inviato ... – Rob

32

Sono un po 'in ritardo, ma potrebbe aiutare gli altri ..

In Google API-Console crea un nuovo ID cliente e lo imposta su "Altro" anziché su "iOS". Dovrebbe funzionare.

+0

Hai ragione! Ultima domanda: perché è successo? Forse coz ios clientID contiene informazioni sull'URI di reindirizzamento? Come si usa? –

+1

Non ho davvero idea del perché funzioni = /. Ma lo fa. Inoltre, ho usato le librerie GTMOAuth che gestiscono il reindirizzamento. Non ho mai inserito alcun URL di reindirizzamento in API-Console. – tGilani

+0

Grazie. Ho passato circa un'ora alle prese con questo strano errore. – Heitara

1

Ho avuto lo stesso problema e il problema era che il "Google Maps SDK per iOS" nella console delle API di Google Servizi sezione era disabilitato.

0

Nel mio caso non stavo usando il nome corretto del progetto. Stavo usando il nome dell'alias del progetto. Dopo aver usato il nome corretto del progetto, ha risolto il problema.