我有一個簡單的腳本設置用於從我的谷歌驅動器帳戶獲取文件並更新它。我沒有任何問題認證和訪問驅動器。該文件是在驅動器上的谷歌電子表格的形式。因此,當我有pydrive文件對象時,我通過google_file['exportLinks']['text/csv']
以csv格式獲取文件的URL。這在過去是有效的,但是今天我對這個新文件嘗試了同樣的方法,而不是獲取數據的csv格式,我一直在獲取HTML。另外,如果我複製並粘貼我的google_file['exportLink']['text/csv']
中的鏈接並將其放入瀏覽器,則瀏覽器將按照要求開始以csv格式下載文件。我真的不知道發生了什麼,特別是因爲這在過去有效。谷歌驅動器的pydrive庫沒有使用請求的請求格式下載文件
這基本上就是我的代碼呢:
drive = GoogleDrive(gauth)
drivefiles = drive.ListFile().GetList()
form_file = None
for f in drivefiles:
if f['title'] == formFileName:
form_file = f
break
output = requests.get(form_file['exportLinks']['text/csv'])
print output.text #this ends up being HTML, not text/csv
有其他人在那裏見過這個問題嗎?我應該試着刪除並重新添加谷歌電子表格文件在驅動器上?
編輯:UPDATE
因此,改變對谷歌文件的權限從訪問驅動器只有誰該文件已被共享到訪問/編輯所有的人後,我能夠訪問和下載文件。 clients_secret.json文件是否允許特定的谷歌硬盤用戶安全地授權,或者是一個通用密鑰,允許任何人使用該密鑰訪問該特定會話中的Google API?如果文件只與一組有限的電子郵件地址共享,是否有任何特殊數據需要通過http請求發送?
這很好,但是這與我已經完成的工作有什麼不同? – themantalope