【问题标题】:The remote server returned an error: (403) Forbidden. during post request...?远程服务器返回错误:(403) Forbidden。在发布请求期间...?
【发布时间】:2012-07-18 21:16:39
【问题描述】:

我尝试为自己制作一个小应用程序,我发现了这个应用程序 How to upload video on Dailymotion with c# ?? Is somebody has a complete code?

当我尝试了所有方法但发布不起作用时。我使用了提琴手,但我找不到错误。 这是代码

 var request = WebRequest.Create("https://api.dailymotion.com/me/videos?url=" + Uri.EscapeUriString(uploadResponse.url));
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Headers.Add("Authorization", "OAuth " + accessToken);

        var requestBytes = Encoding.UTF8.GetBytes("title=test 123&channel=Funny&tags=Humor&description=Testing testing&published=true");

        var requestBytes = Encoding.UTF8.GetBytes(requestString);

        var requestStream = request.GetRequestStream();

        requestStream.Write(requestBytes, 0, requestBytes.Length);

        var response = request.GetResponse();

        var responseStream = response.GetResponseStream();
        string responseString;
        using (var reader = new StreamReader(responseStream))
        {
            responseString = reader.ReadToEnd();
        }

当它到达 request.GetResponse() 时,它会给出错误。那么这里有什么问题..?

【问题讨论】:

    标签: c# c#-4.0 post httpwebrequest http-status-code-403


    【解决方案1】:

    我认为您需要摆脱 url 中的“我”,因为您使用的是 OAuth 而不是基本身份验证,如下所示:

    "https://api.dailymotion.com/videos?url="
    

    代替:

    "https://api.dailymotion.com/me/videos?url="
    

    至少在看起来是这样的快速扫描中,我在一年前为客户编写了一个自动发布器,它没有在网址中使用me。我的凭据现在无效,因此很遗憾无法对其进行测试。这似乎是您链接的答案中的错误。

    如果您可以阅读其他语言,我发现浏览他们的 SDK 并转换代码会很有帮助:

    http://www.dailymotion.com/doc/api/sdk-php.html

    https://github.com/dailymotion/dailymotion-sdk-php/blob/master/Dailymotion.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多