我试图使用Python API从Google Drive下载文件。我正在浏览文档,我看到一个def需要两个参数,服务实例和Drive File实例。我没有看到任何地方如何创建一个Drive File实例传递给def。这应该怎么做?也许我只是在这里没有理解简单的东西,这是一个很好的可能性...使用Google Drive API下载文件
回答
你可能会考虑尝试Temboo Python SDK,其中包含简化的方法与谷歌驱动器(除了100 +其他蜜蜂)。看看https://www.temboo.com/library/Library/Google/Drive/Files/Get/
(全面披露:我在Temboo工作。)
我不知道你提到了文档页面,但是,为了下载一个文件,获取其元数据并作出对其downloadUrl的认证请求。
f = service.files().get(fileId=file_id).execute()
resp, content = service._http.request(f.get('downloadUrl'))
以下是我参考的内容:https://developers.google.com/drive/v2/reference/files/get。你会看到一个名为download_file的def,它有两个参数。 – user165222
'drive_file = service.files()。get(fileId = file_id).execute()',希望有帮助。文档有点奇怪,我们应该修复它。谢谢。 –
我同意Burcu的回答:Google Drive“get”方法将只返回文件的元数据。如果您希望检索文件的内容,那么您应该使用它的downloadUrl属性下载它,如Burcu所示。因此:1.获取元数据,2.提取downloadUrl属性,以及3.使用http请求下载。
至于你的问题,在“Drive文件实例传递给DEF”实际上是从凭据建成,因此,例如:
/**
* Returns the credentials of the user in the session. If user is not in the
* session, returns null.
* @param req Request object.
* @param resp Response object.
* @return Credential object of the user in session or null.
*/
protected Credential getCredential(HttpServletRequest req,
HttpServletResponse resp) {
String userId = (String) req.getSession().getAttribute(KEY_SESSION_USERID);
if (userId != null) {
return credentialManager.get(userId);
}
return null;
};
/**
* Build and return a Drive service object based on given request parameters.
* @param credential User credentials.
* @return Drive service object that is ready to make requests, or null if
* there was a problem.
*/
protected Drive getDriveService(Credential credential) {
return new Drive.Builder(TRANSPORT, JSON_FACTORY, credential).build();
}
- 1. 使用Google Drive API下载文件夹
- 2. 从Google Drive API下载任何文件
- 3. Java Google Drive API下载文件
- 4. Google Drive API下载文件getIo错误
- 5. 使用google-api-ruby-client从Google Drive下载文件
- 6. IOS:如何使用ios google drive sdk API下载Google Docs文件?
- 7. 使用Java API从Google Drive下载文件
- 8. OutOfMemory使用Java SDK API从Google Drive下载文件时出错
- 9. 使用Python3下载文件时出现HttpError 403 Google Drive API
- 10. 使用Google Drive Android API下载特定MIME类型的文件
- 11. 使用Android Drive SDK从Google Drive下载'App data'文件
- 12. 使用java从Google Drive下载Google文档文件
- 13. 使用Google Drive API删除文件
- 14. 使用Google Drive API上传文件
- 15. 使用Google-Drive-API移动文件
- 16. 从Google Drive下载pdf文件
- 17. 如何从Google Drive下载文件
- 18. 从Google Drive下载损坏的文件
- 19. 从Google Drive下载图片文件
- 20. 通过python 3下载Google Drive文件
- 21. 如何使用Drive API从共享文件夹下载文件
- 22. Google Drive API创建和下载PDF
- 23. Google Drive API文件搜索
- 24. Google Drive API追加文件?
- 25. Google Drive API文件列表
- 26. Google Drive API - 下载文件问题(javascript,php)
- 27. 重复上传和下载多个文件 - Android Google Drive api
- 28. 尝试下载文件时Google Drive API 401
- 29. Google Drive API在下载/导出文件时获取空的ByteArray
- 30. 从Google Drive api下载文件时出现问题.net
很酷,我会检查一下 – user165222