谷歌OAuth命令行示例中user_id的内容



在这个例子中,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

运行此代码会打印出一个 url 以插入我的浏览器。 该网址将我带到同意屏幕。 接受后,我会收到一个代码,可以重新插入终端。

然后我得到错误:

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

。因为显然user_id没有定义,但我从哪里得到它?

或者,是否有一个更好、更新或更好的文档 oauth 2.0 库,我应该与所有 youtube API 结合使用 Ruby?

对于其他任何想知道的人,我相信您可以安全地设置 user_id='默认'https://developers.google.com/google-apps/calendar/quickstart/ruby

如果用户被重定向到authorizer.get_authorization_url,这将向用户显示"选择帐户"对话框

user_id应该是单击链接的人的电子邮件地址。

相关内容

  • 没有找到相关文章

最新更新