远程服务器返回错误:(403)禁止。在邮寄要求期间......?

时间:2012-07-19 16:18:29

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

我尝试为自己做一个小应用程序,我找到了这个应用程序 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()时,它会给出错误。那么这里有什么问题..?

1 个答案:

答案 0 :(得分:0)

我相信您需要删除网址中的“我”,因为您使用的是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