ruby-on-rails - Ruby Google::Auth::WebUserAuthorizer 抛出未定义的 get 方法异常
问题描述
下面是我正在运行的示例代码:
require 'googleauth'
require 'googleauth/web_user_authorizer'
require 'googleauth/stores/redis_token_store'
require 'redis'
client_id = Google::Auth::ClientId.from_file('/path/to/client_secrets.json')
scope = ['https://www.googleapis.com/auth/drive']
token_store = Google::Auth::Stores::RedisTokenStore.new(redis: Redis.new)
authorizer = Google::Auth::WebUserAuthorizer.new(client_id, scope, token_store, '/oauth2callback')
get('/authorize') do
# NOTE: Assumes the user is already authenticated to the app
user_id = request.session['user_id']
credentials = authorizer.get_credentials(user_id, request)
if credentials.nil?
redirect authorizer.get_authorization_url(login_hint: user_id, request: request)
end
# Credentials are valid, can call APIs
# ...
end
get('/oauth2callback') do
target_url = Google::Auth::WebUserAuthorizer.handle_auth_callback_deferred(
request)
redirect target_url
end
以上代码抛出“NoMethodError: undefined method `get'”错误
解决方案
推荐阅读
- python - 带空格的日期时间字符串,本地日期
- metrics - 如何估计当前节点与 Kademlia 中其他节点之间的节点数?
- php - 使用 php codeigniter 生成条码
- jsonpath - JSONpath,仅当其他元素有值时才返回结果
- bootstrap-4 - 可折叠导航栏打开后消失
- reactjs - 使用 useState Hook 时根据 prop 设置初始状态
- c# - 对话流和 C#。如何获得代理的回复?
- python - 访问隐藏在 Xpath 中的许多层的元素
- php - 我将如何设置这些 div 标签的样式以获得有效的评论部分?
- crystal-reports - Crystal Report 中的最后一页空白