使用gsutil与谷歌驱动器(不是谷歌云存储)

时间:2015-02-19 13:15:16

标签: authentication google-drive-api rsync gsutil

gsutil使用boto configuration file在Google云端存储中进行身份验证。

我在console.developers.google.com中生成ClientID - 允许通过python脚本将文件放入Google云端硬盘:

#!/usr/bin/env python

from apiclient.discovery import build
from apiclient.http import MediaFileUpload
import httplib2
from oauth2client.client import SignedJwtAssertionCredentials

credentials = SignedJwtAssertionCredentials(
service_account_name='301714561983-nkd8kalz1op3bdjn75ija1b7ef1sslpr@developer.gserviceaccount.com',
private_key='''-----BEGIN PRIVATE KEY-----
приватный ключик 
-----END PRIVATE KEY-----''',
        scope = [
                'https://www.googleapis.com/auth/drive',
                'https://www.googleapis.com/auth/drive.file',
                'https://www.googleapis.com/auth/drive.appdata',
                'https://www.googleapis.com/auth/drive.apps.readonly'
        ]
)

http = httplib2.Http()
http = credentials.authorize(http)

drive_folder_id = '0C3ZU6kySEIuCT0ANM3RRVE1iME0' #folder id

service = build('drive', 'v2', http=http)

media_body = MediaFileUpload('document.txt')
body = {
        'title': 'document.txt',
        'description': 'backup',
        'mimeType': 'text/plain',
        'parents': [{'id': drive_folder_id}]
}

file = service.files().insert(
        body=body,
        media_body=media_body).execute()

我想使用 gsutil rsync 与Google云端硬盘同步我的数据。 有人知道配置boto配置在Google云端硬盘进行身份验证吗?怎么做,如果可能的话?

目前,我使用ClientID(gsutil config -e)来发现对Google云端存储的访问权限:

$ gsutil ls gs://uspto-pair/applications/0800401*
gs://uspto-pair/applications/08004010.zip
gs://uspto-pair/applications/08004011.zip
gs://uspto-pair/applications/08004012.zip
gs://uspto-pair/applications/08004013.zip
gs://uspto-pair/applications/08004016.zip
gs://uspto-pair/applications/08004017.zip
gs://uspto-pair/applications/08004019.zip

但我无法访问文件夹(按路径或文件夹ID)。可以使用任何已知的格式uri访问Google云端硬盘中的文件夹(使用存储桶或使用Google云端硬盘的默认存储桶)?

2 个答案:

答案 0 :(得分:1)

"可能有人知道用于访问Google云端硬盘上的文件夹的格式URI(没有存储桶或Google云端硬盘的默认存储桶)?"

=================================

作者:

•Cyber​​Duck

•Grive

•InSync

知道如何访问Google云端硬盘,这是肯定的。其中两个是开源软件:

https://cyberduck.io/

https://www.insynchq.com/downloads

http://www.howtogeek.com/130380/how-to-use-google-drive-on-linux-2-unofficial-solutions/

http://www.webupd8.org/2012/05/grive-open-source-google-drive-client.html

答案 1 :(得分:0)

gsutil工具专门用于访问文件,将文件放在Google云端存储中的存储桶中。