Vimeo上传完成返回708文件错误(python)

时间:2013-11-03 01:38:13

标签: python file-upload vimeo vimeo-api

我正在尝试构建一个小的python脚本来编译和上传视频到vimeo。真的大约9/10的方式。 它的授权,检查上传配额,获取上传票据,通过流媒体上传,检查块大小。所有这些都很好。但是当我尝试调用上传完成时,它会返回

('complete upload response', '{"generated_in":"2.4796","stat":"fail","err":
{"code":"708","expl":"The file could not be saved. Try again.","msg":"File error"}}\n')

这是将视频文件加载到二进制文本中的代码。这是在上传时加载到html标题中的内容:

def load_video_to_bytes(self, file_name):
    with open(file_name, 'rb') as f:
        byte = f.read()
    return byte

上传电话

def call_upload_file(self, session, ticket_info, file, file_size):
    session.headers['Content-Type'] = 'video/mp4'
    session.headers['Content-Length'] = file_size
    response = session.put(ticket_info['endpoint_secure'], data=file)
    return response

其中session是rauth会话 然后调用完成上传

def call_upload_complete(self, session, ticket_id, filename):
    params = {'method': 'vimeo.videos.upload.complete',
              'oauth_token': session.access_token,
              'ticket_id': ticket_id,
              'filename': filename}
    response = self.execute_method(session, params)
    return response

这里是gist中的所有代码 https://gist.github.com/anonymous/7285498

二进制数据加载不对吗?

感谢,

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决块错误。

首先,您应确保Vimeo对您的视频没有任何问题,请尝试在网站上手动上传示例。如果在网站上传工作,API应该工作。如果它不起作用让Vimeo知道。我没有遇到过在上传过程中视频遭到拒绝的情况,所以我怀疑这是问题所在。

其次你应该问vimeo你的上传成功了多少。上传流程的验证步骤(https://developer.vimeo.com/apis/advanced/upload#streaming-step4)允许您问这个问题。如果您没有按顺序上传视频,或者删除了字节,则可能会看到块错误。