Где пользователь user_id должен появиться в этом примере?Что такое user_id в примере командной строки google oauth?
Используя пример командной строки здесь: https://github.com/google/google-auth-library-ruby
Я только изменил пример, удалив «/ путь/к /» и есть client_secrets.json в моем рабочем каталоге.
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
Выполнение этого кода печатает URL-адрес для подключения к моему браузеру. URL-адрес меня отображает на экране согласия. После того, как я согласен, мне предоставлен код для подключения к терминалу.
Тогда я получаю сообщение об ошибке:
NameError: undefined local variable or method `user_id' for main:Object
... потому что, очевидно, user_id не определен, но где его взять?
В качестве альтернативы, есть ли лучшая, более новая или лучше документированная библиотека oauth 2.0, которую я должен использовать для Ruby в сочетании со всем apt youtube?