我正在尝试从我的
Android应用程序上传视频到vimeo.该视频正在上传.但是当调用Delete请求以获取视频ID时,我收到的响应为“Invalid state”.同一段代码在Htc X中工作.这是视频编解码器格式或其他问题吗?
public void vimeoDelete() { // Vimeo upload step 3 RestClient.mEndPoint.setUrl(APIHandler.VIMEO_BASE_URL); RestClient.getVimeo().deleteVideo(mCompleteUri.substring(1),new Callback<Response>() { @Override public void success(Response response,Response response2) { Log.i("Delete","Done"); Log.i("Header",response2.getHeaders().toString()); Log.i("Body",response2.getBody().toString()); List<Header> aHeaders = response2.getHeaders(); for (Header aHeader : aHeaders) { if (aHeader.getName().equals("Location")) { mVideoUrlLocation = aHeader.getValue(); } } Log.i("Location",mVideoUrlLocation); mFinalVideoUrl = mVideoUrlLocation.substring(8); saveDetails(); } @Override public void failure(RetrofitError error) { mProgress.dismiss(); } }); }
任何人都可以建议解决这个问题.
问候
解决方法
我刚刚在Vimeo论坛上回答了同样的问题 – 我有同样的问题,我只是在这里发布,因为在这个特定的线程上似乎没有解决方案.
此外,关于您的帖子 – 您的帖子中没有提供大量信息.您的删除请求并非所有要求 – 假设您创建了有效的票证请求,正确上传,然后尝试了您发布的del请求.
Vimeo帖子:
https://vimeo.com/forums/api/topic:278394
我的解决方案
我解决了我的问题版本 – 我认为Vimeo最近纠正了他们的API上的一些东西,因为我的代码没有错误,然后最近突然出现了一个.我敢打赌,他们在API网关上添加了速率限制,或者可能覆盖现有的请求来清理旧请求……
无论如何,这是我的修复:
为了通过“Resumable HTTP PUT uploads”(developer.vimeo.com/api/upload/videos)完成视频上传,有5个步骤.
除了通过我的PHP后端上传之外,我做了所有事情.我通过PHP请求票证,不通过我修改的JS前端(github.com/websemantics/vimeo-upload)暴露一些秘密信息,但我没有通过JS代码正确编辑票证请求,因此当前的错误可能是在第二个无效请求上触发的(即通过PHP覆盖或限制我的初始有效请求).一旦我正确绕过JS“上传”功能并直接跳到JS“sendFile_”,上传工作再次正常.
希望能帮助那里的人!