如何使用来自Google Python Youtube API的MediaFileUpload的远程文件URL

时间:2016-05-24 23:52:48

标签: python google-api youtube-api

当我使用(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上传,然后将其删除?

1 个答案:

答案 0 :(得分:-1)

您可以尝试将远程文件下载到 io.BytesIO() 对象 (import io),它只会在程序内存中,无需保存在计算机上。接下来,您可以创建对象

MediaIoBaseUpload( io.BytesIO(), mime_type='<file_type>')

(它是 MediaFileUpload 的父对象,它在 googleapiclient.http 中,就像 MediaFileUpload 一样)。
现在您可以将此对象传递给 media_body 就像 MediaFileUpload