我正在编写一个Ruby程序以访问我的谷歌云盘,以获取我的文件。
我想使用服务器到服务器连接来避免其他人接受权限,因此我使用为“服务帐户客户端ID”生成的p12密钥。
连接是好的,我成功地插入了一个文件。
当我尝试列出所有文件时,我的问题是:调用很好,但我只得到2个文件:先前插入的文档和一个名为“如何开始使用Drive”的pdf(我有很多其他文件,如文档、电子表格、演示文稿、图片等...)。
我使用我的谷歌帐户创建了我的密钥,但我无法访问我的文件。此外,我使用程序插入的文档不会出现在我的谷歌云端硬盘中。
关于API,我错过了什么?我拿到的是哪个文件而不是我的文件? 这真的就像我没有使用同一个谷歌云端硬盘帐户。 这是我用来列出我的文件的代码:
非常感谢您! Julian
当我尝试列出所有文件时,我的问题是:调用很好,但我只得到2个文件:先前插入的文档和一个名为“如何开始使用Drive”的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 => [])
非常感谢您! Julian