sto usando google api per ruby, ma non so come iniziare, dammi solo un esempio di ABC qualcuno, grazie mille?come autorizzare l'uso di google-api-ruby-client
risposta
Se si sta creando un'applicazione di account di servizio per accedere a Google Analytics.
- Registrarlo con Google tramite https://code.google.com/apis/console. Nella scheda Accesso API, fare clic su Crea ID client, selezionare Account servizio. Archivia il file chiave generato da Google e ricorda la password per quella chiave.
Ecco po 'di codice per iniziare
require 'rubygems' require 'google/api_client' api_client = Google::APIClient.new path_to_key_file ="/path/to/key/file-privatekey.p12" passphrase = "google_generated_password" key = Google::APIClient::PKCS12.load_key(path_to_key_file, passphrase)
Una volta che una chiave è disponibile, inizializzare l'assertore con il tuo ID cliente (email nella console API) e autorizzazione ambiti.
asserter = Google::APIClient::JWTAsserter.new(
'[email protected]com',
'https://www.googleapis.com/auth/analytics.readonly',
key)
# To request an access token, call authorize:
api_client.authorization = asserter.authorize()
puts api_client.authorization.access_token
http://code.google.com/p/google-api-ruby-client/wiki/ServiceAccounts
ottengo questo: 'Autorizzazione fallita. Messaggio del server: {"error": "invalid_grant"} '. Ho sentito dire alle persone di cambiare la modalità di concessione in modalità offline, ma c'è un modo per farlo dalla gemma rubino? – NullVoxPopuli
Ho risposto a qualcosa di simile in un paio di altri posti ho trovato che erano come questo ... così incassa la sua rilevante, per Ruby, usando il google-api-client (per qualsiasi apis di Google), ci sono alcuni dettagli con autenticazione quando si utilizza una chiave API anziché OAuth ...
Ho delineato questo processo (utilizzando un lato server chiave API) a the code abode.
È necessario impostare in modo esplicito il parametro authorzation su zero quando si costruisce il client, altrimenti la gem prova a utilizzare OAuth per l'autenticazione, quindi se si chiama da un server utilizzando solo una chiave API, si otterrà sempre un 401 Non autorizzato.
Hai provato: http://code.google.com/p/google-api-ruby-client/ – RubyDev