当我使用(apiclient.http)GOOGLE API在python中调用MediaFileUpload时:
media_body=MediaFileUpload(options.file, chunksize=-1, resumable=True)
它适用于驱动器上的本地文件:
options.file = "/www/var/videos/video.mp4"
但是当我尝试使用远程文件时,可以说像亚马逊这样的CDN - 它失败了。
options.file = "http://xxx-website-us-west-2.amazonaws.com/video.mp4"
是否可以选择将MediaFileUpload与我未找到的远程文件一起使用,而无需拉下远程文件,通过GOOGLE Api上传,然后将其删除?
答案 0 :(得分:-1)
您可以尝试将远程文件下载到 io.BytesIO()
对象 (import io
),它只会在程序内存中,无需保存在计算机上。接下来,您可以创建对象
MediaIoBaseUpload( io.BytesIO(), mime_type='<file_type>')
(它是 MediaFileUpload
的父对象,它在 googleapiclient.http
中,就像 MediaFileUpload
一样)。
现在您可以将此对象传递给 media_body
就像 MediaFileUpload
。