Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby google api客户端、服务帐户和google应用程序使用google drive_Ruby On Rails_Ruby_Google Drive Api_Google Apps_Google Api Client - Fatal编程技术网

Ruby on rails ruby google api客户端、服务帐户和google应用程序使用google drive

Ruby on rails ruby google api客户端、服务帐户和google应用程序使用google drive,ruby-on-rails,ruby,google-drive-api,google-apps,google-api-client,Ruby On Rails,Ruby,Google Drive Api,Google Apps,Google Api Client,你可以跳到下面的问题,但简而言之,我可以验证、上传和获取文件列表,但它与我使用服务帐户和谷歌开发控制台设置的gmail帐户不一致 较长版本: 我创建了一个新的电子邮件帐户blah@gmail.com并使用google开发控制台为我的项目启用了驱动器、联系人和其他一些API 然后,我创建了服务帐户API密钥/机密,并下载了client_secrets.json 花了一段时间,但通过ruby google api客户端进行了身份验证,我可以通过rails控制台登录 问题: 我得到了file.list

你可以跳到下面的问题,但简而言之,我可以验证、上传和获取文件列表,但它与我使用服务帐户和谷歌开发控制台设置的gmail帐户不一致

较长版本: 我创建了一个新的电子邮件帐户blah@gmail.com并使用google开发控制台为我的项目启用了驱动器、联系人和其他一些API

然后,我创建了服务帐户API密钥/机密,并下载了client_secrets.json

花了一段时间,但通过ruby google api客户端进行了身份验证,我可以通过rails控制台登录

问题: 我得到了file.list,但它只有getting Started.pdf,尽管我在网站上创建了一些文档和电子表格blah@gmail.com服务帐户

我也可以上传一个文件,但看不到它

我“认为”这是上传到谷歌应用相关帐户?但是我既没有为我正在建立的组织设置一个域,也没有自己的域

我不知道文件要去哪里或上传到哪里,也不知道如何访问我实际使用的驱动器帐户blah@gmail.com

发生了什么事

编辑:

我可以得到一些关于如何修改它以模拟用户的代码示例吗

require 'google/apis/drive_v2'

Drive = Google::Apis::DriveV2

@drive = Drive::DriveService.new


scope = 'https://www.googleapis.com/auth/drive'
@drive.authorization = Google::Auth.get_application_default([scope])

#give me list of files
@files = @drive.list_files
puts "Search results:"
@files.items.each do |file|
  puts "- File: #{file.title} (#{file.id})"
end

如果我必须安装谷歌应用程序,这可能会很困难,因为它们只有子域,而我没有直接访问权限。这是我希望事先被告知的事情。

一旦您在开发者控制台中注册服务帐户,您就会收到如下电子邮件地址XXXX@developer.gserviceaccount.com. 要使用服务帐户将文件添加到驱动器中,您需要通过实例化驱动器服务来模拟用户的电子邮件地址。检查此链接,但我需要一个谷歌应用程序帐户,或者我可以只使用blah@gmail.com帐户和服务帐户。同样从我所看到的驱动器站点是0.90之前的驱动器?你应该有谷歌应用程序帐户仍然与客户端有问题。我编辑并添加了代码示例。任何使用上述代码的“模拟”示例都将非常有用。再次感谢你的提示。