2014-08-31 442 views
1

我有一個網絡應用程序,允許用戶創建和編輯Google雲端硬盤文件。我能夠創建並保存新文件。但是當我想更新現有文件時,我無法做到這一點。根據Google Drive API的參考,更新現有的文件用戶需要爲該文件提供'fileId'。但是,如何獲得特定文件的fileId?我有我的文件標題,但如何獲得'fileId'?如何獲取Google Drive文件的'fileId'?

我使用下面的代碼來做到這一點:

fileId = <How to get this?> 
media_body = MediaFileUpload(filename, mimetype='text/x-script.phyton', resumable=True) 
body = { 
    'title': filename, 
    'description': 'File saved from Pythonista app', 
    'mimeType': 'text/x-script.phyton' 
} 
existing_file = service.files().get().execute() 
if existing_file: 
    resource = service.files().update(
     fileId=fileId, 
     body=existing_file, 
     newRevision=True, 
     media_body=media_body).execute() 

回答

1

你總是需要保持該ID,當你得到的文件。與Dropbox不同的是,GD的路徑和文件名幾乎不會提供任何內容。

請參閱本資源:

當你得到的,你正在做的查詢與此類似Link: Google Drive SDK API for files listing

裏面的「文件」的用戶項目列表容器希望找到這樣的數據:

{ 
    "kind": "drive#file", 
    "id": string, <<<<< HERE 
    "etag": etag, 
    **** 
    "title": string, <<<<<<< Name of the file you already use 
    **** 
    } 
} 

Link: Google Drive SDK API for file resource info

因此,在你的代碼,你應該通過ID的大部分時間,文件名不是關鍵在這裏。

相關問題