第一點的另一種格式:我有一個問題,請,有沒有下載從我的驅動器作爲文檔或使用谷歌雲端硬盤API任何其他格式的PDF文件的可能性? 就像我們可以在驅動器上做manualy一樣:打開PDF文件作爲谷歌文檔並下載它。的Python:下載從驅動器中的文件中使用apidrive
編輯: 第二點:我做了什麼: 通過快速啓動連接到apidrive。我開啓了Drive API(第1步),並安裝了Google客戶端庫(第2步)。 在那之後,我tryed使用代碼從我的高清文件上傳到我的驅動器:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
#1st authentification
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles
authentication.
drive = GoogleDrive(gauth)
file1 = drive.CreateFile()
file1.SetContentFile('documt.pdf')
file1.Upload()
在我的計劃中的下一個步驟,是要下載我剛剛上傳到雲端硬盤「documt.pdf」 ,以不同的格式(例如.doc)。所以我搜索瞭如何做所以,我發現了下面的腳本,即使它沒有做我想要的東西(就像文檔所說的那樣),它只能下載Google文檔作爲pdf(與我想要的相反) :
file_id = '1ZdR3L3qP4Bkq8noWLJHSr_iBau0DNT4Kli4SxNc2YEo'
request = drive_service.files().export_media(fileId=file_id,
mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print "Download %d%%." % int(status.progress() * 100)
然而,即使這個代碼顯示了一個錯誤:
Traceback (most recent call last):
File "C:\Users\OU\AppData\Local\Programs\Python\Python36-
32\download_from_drive.py", line 10, in <module>
request = drive_service.files().export_media(fileId=file_id,
NameError: name 'drive_service' is not defined
我CLIENT_SECRETS文件看起來像(不知道它確實有關係的問題): {「網絡」: { 「CLIENT_ID」: 「xxxxx.apps.googleusercontent.com」, 「PROJECT_ID」: 「XXXX」, 「auth_uri」: 「https://accounts.google.com/o/oauth2/auth」, 「token_uri」: 「https://accounts.google.com/x/oauth2/token」, 「auth_provider_x509_cert_url」:」 https://www.googleapis.com/oauth2/v1/c 「 」client_secret「: 」ERM-XXXX「, 」redirect_uris中「:」 http://localhost:8080/ 「],」 javascript_origins 「:」 http://localhost:8080「]}}
誰能幫我找到了答案,我的問題(第一點),並解決錯誤(第二點)?
非常感謝
感謝您的回答。我試圖做你告訴我的。但我必須通知您,我已經完成了第1步和第2步以上傳一些文件。但現在我想從我的驅動器以其他格式(doc,txt ...)下載。這就是爲什麼我找到了我在我的問題中發佈的腳本。但是,我做了你告訴我的,但第三點中的代碼僅用於連接驅動器並列出文件。所以你有一個想法,我怎麼能從驅動器使用apidrive下載文件。 – Elroum
@Elroum謝謝您的回覆。在我的環境中,你的腳本工作正常。那麼你能告訴我們你的整個當前劇本嗎?如果你能做到,請將其添加到你的問題上。那時,請刪除您的私人信息。 – Tanaike
非常感謝你的努力。 okey我會告訴你我做了什麼。我會編輯我的問題 – Elroum