使用c#WebClient将类别添加到视频Vimeo API

时间:2015-12-31 08:04:47

标签: c# json webclient vimeo vimeo-api

我正在尝试通过他们的API为Vimeo视频添加类别。在documentation中,它表示我们可以通过汇总请求执行此操作。

PUT  https://api.vimeo.com/videos/{video_id}/categories
[
    {
        "category": "animation"
    },
    {
        "category": "2D"
    }
]

我假设我们必须在json中传递数据(查看给定的示例)并通过WebClient()对象传递类别。这是我的代码:

//add categories to video
//string category_uri = "https://api.vimeo.com/videos/" + video_id + "/categories";
WebClient wb_category = new WebClient();
wb_category.Headers.Add("Authorization", "Bearer" + vc.AccessToken);
wb_category.Headers.Add(HttpRequestHeader.ContentType, "application/json");
string file_category = "[{ \"category\": \"personal\"  }]";
var asByteArrayContent_cat = wb.UploadString("https://api.vimeo.com/videos/" + video_id + "/categories", "PUT", file_category);

但是这给了我以下错误:

  

消息:远程服务器返回错误:(401)未经授权。

我尝试删除行wb_category.Headers.Add(HttpRequestHeader.ContentType, "application/json");,但它给了我同样的错误。任何人都可以帮我正确发送添加视频类别的请求吗?我不要只使用WebClient()。任何其他课程也可以。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的授权标头需要bearer与令牌之间的空格!该行应如下所示:

wb_category.Headers.Add("Authorization", "Bearer " + vc.AccessToken);

这是一个非常常见的错误,我一直在考虑为它抛出一个独特的错误信息。