Google Drive API不支持';我的驱动器中的t列表文件(Ruby)

Google Drive API不支持';我的驱动器中的t列表文件(Ruby),ruby,google-api,google-drive-api,Ruby,Google Api,Google Drive Api,我正在开发一个Ruby程序来访问我的google驱动器以获取我的文件。 我想使用服务器到服务器的连接来避免人们接受权限,因此我使用为服务帐户客户端ID生成的p12密钥。 连接正常,但我成功插入了一个文件 我的问题是,当我试图列出我所有的文件时:这个调用很好,但我只得到两个文件:先前插入的文档和一个名为“如何开始使用驱动器”的pdf文件(我还有很多其他文件,如文档、电子表格、演示文稿、图片等) 我用我的谷歌账号创建了我的密钥,但我无法访问我的文件。此外,我在程序中插入的文档不会出现在我的文件中的谷

我正在开发一个Ruby程序来访问我的google驱动器以获取我的文件。 我想使用服务器到服务器的连接来避免人们接受权限,因此我使用为服务帐户客户端ID生成的p12密钥。 连接正常,但我成功插入了一个文件

我的问题是,当我试图列出我所有的文件时:这个调用很好,但我只得到两个文件:先前插入的文档和一个名为“如何开始使用驱动器”的pdf文件(我还有很多其他文件,如文档、电子表格、演示文稿、图片等)

我用我的谷歌账号创建了我的密钥,但我无法访问我的文件。此外,我在程序中插入的文档不会出现在我的文件中的谷歌驱动器中

关于API,我有没有遗漏什么?我得到的是什么文件而不是我的? 这真的就像我不是在同一个谷歌驱动器帐户。 以下是我用来列出文件的代码:

# Prepare the OAuth client / Service Account 
client = Google::APIClient.new(application_name: 'Google Drive Ruby test', application_version: '0.0.1')
key = Google::APIClient::KeyUtils.load_from_pkcs12('key.p12', 'notasecret')
client.authorization = Signet::OAuth2::Client.new(
    :token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
    :audience => 'https://accounts.google.com/o/oauth2/token',
    :scope => 'https://www.googleapis.com/auth/drive',
    :issuer => '***@developer.gserviceaccount.com',
    :signing_key => key)

client.authorization.fetch_access_token!

# Get the Drive API
drive = client.discovered_api('drive', 'v2')

# Upload a file 
api_result = client.execute(
    :api_method => drive.files.list,
    :parameters => [])
多谢各位


朱利安,这就是问题所在。服务帐户不是您要通过浏览器更新的驱动器帐户。见和。顺便说一句,在你的代码中,files.list上面的注释是“Upload a file”,这就是我第一次错过它的原因:-)

粘贴代码执行files.list,最好是http跟踪。你是否正确地遵循了下一步?当你说“我的文件”时,你会意识到服务帐户不是你的文件,而是一个单独的帐户?这是我正在测试的完整代码。我只是打印api_result.data对象。当我说我的文件时,我想访问通过浏览器创建的电子表格或文档。啊,这就是问题所在。服务帐户不是您要通过浏览器更新的驱动器帐户。见和。顺便说一句,在你的代码中,上面的注释files.list说“上传一个文件”,这就是我第一次错过它的原因。哦,很抱歉,这个注释。这只是因为我先尝试了上传,然后是列表,但我没有改变评论:)感谢链接,我将尝试OAuth游乐场@皮诺伊:谢谢你的链接。这样很好用!!如果你想回答这个问题,我会接受的;)