我正在尝试从我的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();
}
});
}
任何人都可以建议解决这个问题。
此致
答案 0 :(得分:0)
我刚刚在Vimeo论坛上回答了同样的问题 - 我遇到了同样的问题,我只是在这里发布,因为在这个特定的线程上似乎没有解决方案。
此外,关于您的帖子 - 您的帖子中没有提供大量信息。您的删除请求并非完全符合要求 - 假设您创建了有效的故障单请求,正确上传,然后尝试了您发布的del请求。
Vimeo帖子: https://vimeo.com/forums/api/topic:278394
我的解决方案: 我解决了我的问题版本 - 我认为Vimeo最近纠正了他们的API上的一些东西,因为我的代码没有错误,然后最近突然出现了一个。我敢打赌,他们在API网关上添加了速率限制,或者可能覆盖现有的请求来清理旧请求......
无论如何,这是我的修复:
通过&#34; Resumable HTTP PUT上传&#34;完成视频上传。 (developer.vimeo.com/api/upload/videos),有5个步骤。
除了通过我的PHP后端上传外,我做的一切都是。我通过PHP请求票证,不通过我修改的JS前端(github.com/websemantics/vimeo-upload)暴露一些秘密信息,但我没有通过JS代码正确编辑票证请求,所以当前的错误可能是在第二个无效请求(即通过PHP覆盖或限制我的初始有效请求)。一旦我绕过JS&#34;上传&#34;功能正常并直接跳到JS&#34; sendFile _&#34;,上传再次正常工作。
希望能帮到那里的人!