4

我一直在摆弄我上传到 vimeo 的方法。

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

这是我的代码:

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;
        }

这个回应给了我:

  • 形式
  • 票号
  • 上传链接
  • 上传链接安全
  • 乌里
  • 用户

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

发送参数 type=streaming 作为正文:

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();
4

2 回答 2

2

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

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

于 2014-03-26T15:01:45.060 回答
0

重点是:

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

如果你得到所有没有 complete_uri 的值,这意味着:你没有上传访问令牌。所以去你的应用程序并发出上传请求

于 2015-03-24T14:39:02.443 回答