Vimeo上传。无法获得complete_uri字段作为回应

时间:2014-03-26 13:33:25

标签: c# http vimeo vimeo-api

我上传到vimeo时,我一直在摆弄。

  1. 我已经提出了一张票请求。
  2. 我已上传文件。
  3. 我已经检查了文件是否已上传。
  4. 我需要使用我应该从我的票证中获得的complete_uri响应来运行DELETE方法。 但是,我没有从故障单响应中收到任何complete_URI。
  5. 这是我的代码:

    public static dynamic GenerateTicket()
            {
                const string apiUrl = "https://api.vimeo.com/me/videos?type=streaming";
                var req = (HttpWebRequest)WebRequest.Create(apiUrl);
                req.Accept = "application/vnd.vimeo.*+json;version=3.0";
                req.Headers.Add(HttpRequestHeader.Authorization, "bearer " + AccessToken);
                req.Method = "POST";
                var res = (HttpWebResponse)req.GetResponse();
                var dataStream = res.GetResponseStream();
                var reader = new StreamReader(dataStream);
                var result = Json.Decode(reader.ReadToEnd());
    
                return result;
            }
    

    这个回复让我:

    • 表格
    • ticket_id
    • upload_link
    • upload_link_secure
    • uri
    • 用户

    要完成上传,我需要执行本指南中的第4步:https://developer.vimeo.com/api/upload

    发送参数type = streaming as body:

    ASCIIEncoding encoding = new ASCIIEncoding();
                string stringData = "type=streaming"; //place body here
                byte[] data = encoding.GetBytes(stringData);
    
                req.Method = "PUT";
                req.ContentLength = data.Length;
    
                Stream newStream = req.GetRequestStream();
                newStream.Write(data, 0, data.Length);
                newStream.Close();
    

2 个答案:

答案 0 :(得分:2)

目前,必须在请求正文中发送type = streaming,而不是作为url参数发送。

这可能会改为允许任何一个选项。

答案 1 :(得分:0)

重点是:

"您需要做的第一件事是为您的应用程序请求上传访问权限。您可以通过“我的应用”页面执行此操作。"

如果您获得没有complete_uri的所有值,则表示:您没有上传访问令牌。因此,请转到您的应用并发送上传请求