【发布时间】:2017-06-11 03:50:19
【问题描述】:
在这个例子中 user_id 应该来自哪里?
使用此处的命令行示例: https://github.com/google/google-auth-library-ruby
我只是通过删除“/path/to/”来更改示例,并且我的工作目录中有一个 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
运行此代码会打印出一个网址以插入我的浏览器。该网址将我带到同意屏幕。接受后,我会收到一个代码,可以重新插入终端。
然后我得到错误:
NameError: undefined local variable or method `user_id' for main:Object
...因为显然 user_id 没有定义,但我从哪里得到它?
或者,是否有更好、更新或记录更好的 oauth 2.0 库我应该结合所有 youtube api 用于 Ruby?
【问题讨论】:
标签: ruby oauth-2.0 youtube-api google-oauth