我正在尝试将我的rails控制器设置为按照以下代码从Google驱动器下载文件 - https://developers.google.com/drive/v2/reference/files/get
我有以下导轨代码
def download_file(client, file)
if file.download_url
result = client.execute(:uri => file.download_url)
if result.status == 200
return result.body
else
puts "An error occurred: #{result.data['error']['message']}"
return nil
end
end
end
def attachExternalResume
# read remote url to file
file_id = params[:fileId]
client = Google::APIClient.new
drive = client.discovered_api('drive', 'v2')
result = client.execute(
:api_method => drive.files.get,
:parameters => { 'fileId' => file_id}
)
if (result.status == 200)
p download_file client, result.data
end
end
这是使用谷歌选择器从我的javascript前端调用的。用户通过谷歌选择器授权我的应用程序并选择一个文件,导致我的角度javascript将文件ID发布到我的rails方法。在rails代码中我收到以下错误 - 缺少访问令牌。
似乎即使用户已授权前端的应用程序,该授权也没有进入导轨端。任何人都知道如何在整个过程中获得授权?
答案 0 :(得分:0)
“我收到以下错误 - 缺少访问令牌。”可能意味着你错过了一个访问令牌。在您发布的代码段中,我无法看到您请求访问令牌的任何位置,因此更有可能。我不太了解Google Ruby库为您提供您缺少的代码,但寻找的东西需要范围和应用程序/客户端ID 作为论点。