2017-01-25 1 views
0

D'où l'utilisateur est-il censé provenir de cet exemple?Qu'est-ce que user_id dans l'exemple de ligne de commande google oauth?

En utilisant l'exemple de ligne de commande à partir d'ici: https://github.com/google/google-auth-library-ruby

Je n'ai changé l'exemple en supprimant le «/chemin/vers/» et il y a un client_secrets.json dans mon répertoire de travail.

require 'googleauth' 
require 'googleauth/stores/file_token_store' 

OOB_URI = 'urn:ietf:wg:oauth:2.0:oob' 

scope = 'https://www.googleapis.com/auth/drive' 
client_id = Google::Auth::ClientId.from_file('client_secrets.json') 
token_store = Google::Auth::Stores::FileTokenStore.new(
    :file => 'tokens.yaml') 
authorizer = Google::Auth::UserAuthorizer.new(client_id, scope, token_store) 

credentials = authorizer.get_credentials(user_id) 
if credentials.nil? 
    url = authorizer.get_authorization_url(base_url: OOB_URI) 
    puts "Open #{url} in your browser and enter the resulting code:" 
    code = gets 
    credentials = authorizer.get_and_store_credentials_from_code(
    user_id: user_id, code: code, base_url: OOB_URI) 
end 

L'exécution de ce code imprime une URL à brancher sur mon navigateur. L'URL me conduit à un écran de consentement. Après avoir accepté, on me donne un code pour me reconnecter au terminal.

Puis-je obtenir l'erreur:

NameError: undefined local variable or method `user_id' for main:Object 

... parce que de toute évidence user_id n'est pas défini, mais où dois-je obtenir?

Alternativement, existe-t-il une bibliothèque oauth 2.0 meilleure, plus récente ou mieux documentée que j'utiliserais pour Ruby en combinaison avec tous les apis youtube?

Répondre

1

Le user_id doit l'adresse e-mail de la personne qui clique sur le lien.

2

Pour toute autre personne qui se demande, je crois que vous pouvez en toute sécurité mis user_id = « default » https://developers.google.com/google-apps/calendar/quickstart/ruby

Cela présente à l'utilisateur une boîte de dialogue « choisissez compte » si l'utilisateur est redirigé vers la approbateur. get_authorization_url