Instagram oAuth登录失败,使用C#桌面应用程序403 Forbidden错误

时间:2013-05-01 15:37:04

标签: c# api oauth instagram

我正在开发我的Instagram桌面应用程序,因为403 Forbidden错误而无法授权用户。

我无法从登录POST请求中获取响应。我的POST字符串看起来像这样:

csrfmiddlewaretoken=98d25eec9c3d1a6935e5a491ff2fa543&username=myname&password=mypassword

这就是我如何形成我的要求:

        Uri url = new Uri
        ("https://instagram.com/accounts/login/?next=/oauth/authorize/?client_id=" +
        instagramClient_id + "&redirect_uri=" + instagramRedirectUrl +
        "&response_type=token");

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = cc;
        request.Method = "POST";

        request.ContentType = "application/x-www-form-urlencoded";
        request.KeepAlive = true;

        byte[] sentData = Encoding.UTF8.GetBytes(data);
        request.ContentLength = sentData.Length;

        using (Stream requestStream = request.GetRequestStream())
        {
            requestStream.Write(sentData, 0, sentData.Length);
        }

        WebResponse response = request.GetResponse();

结果是 - 403禁止。无法找出我做错了什么。

我无法提及我已经测试了其他一些方法来完成授权,并注意到Google Chrome在使用Instagram时会收到更多C#请求的Cookie。到目前为止,我的桌面应用程序还没有收到" sessionid"," __ qca"," __ utma"," __ utmb",&# 34; __ utmc"," __ utmz"," ccode"和" user_segment"饼干。但它收到了" csrftoken"和" mid"饼干。也许这就是为什么我总是有403错误?

1 个答案:

答案 0 :(得分:3)

使用请求网址的值添加Referer标头。