这肯定让我困惑了几个小时。我已经按照 Baugues的详细说明引导了我的应用程序,以至于通过 OAuth2 进行身份验证有效,我只是在session#create
(回调)操作中测试了一些东西。这是一些代码:
class SessionsController < ApplicationController
def create
@auth = request.env["omniauth.auth"]
@token = @auth["credentials"]["token"]
client = Google::APIClient.new
client.authorization.access_token = @token
service = client.discovered_api('drive', 'v1')
file_content = Google::APIClient::UploadIO.new("foo", "text/plain")
# @result = client.execute(
# :api_method => service.files.get,
# :parameters => { 'id' => 1 },
# :headers => {'Content-Type' => 'application/json'})
end
end
在进行身份验证时,上述逻辑在callback
方法中执行 - 出于此粗略测试的目的,该方法呈现create.html.erb
. 我已经注释掉了@result
刚刚回显到视图中的实例变量。
但是,当它显然不应该Google::APIClient::UploadIO.new("foo", "text/plain")
触发时。uninitialized constant Google::APIClient::UploadIO
我已经挖掘了这个宝石的来源,并且UploadIO
课程required
在media.rb
宝石中。
建议和帮助表示赞赏!