【问题标题】:what is user_id in google oauth command line example?google oauth 命令行示例中的 user_id 是什么?
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-10-27
        • 2012-12-02
        • 2016-05-08
        • 2014-03-06
        • 1970-01-01
        • 2020-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多