【问题标题】:Adding category to video Vimeo API using c# WebClient使用 c# WebClient 向视频 Vimeo API 添加类别
【发布时间】:2016-04-05 05:38:53
【问题描述】:

我正在尝试通过他们的 API 向 Vimeo 视频添加一个类别。在 documentation 中,它说我们可以通过 put 请求来做到这一点。

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) Unauthorized.

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

【问题讨论】:

    标签: c# json webclient vimeo vimeo-api


    【解决方案1】:

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

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

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

    【讨论】:

    • 恐怕这并没有什么不同,我已经使用没有空格的标题上传缩略图并且效果很好。
    • 您可以通过 vimeo.com/help/contact 联系 Vimeo 并参考此对话吗?在承载和令牌之间没有空格的授权标头被明确拒绝,因此可能会发生其他事情。请求/响应周期的实际日志(使用 charles proxy、fiddler、runscope 等)也会有很大帮助。
    • 好的,会的。我会和提琴手核实。
    • 遇到了同样的问题,看来这是 APi 的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多