C# 尝试使用C从Google检索令牌的错误请求#

C# 尝试使用C从Google检索令牌的错误请求#,c#,oauth,C#,Oauth,我试图复制这里详述的过程 在C中# 问题是调用GetResponse()时,我收到了错误的请求 ConsumerKey&Secret是我注册应用程序时从谷歌得到的。授权代码也来自谷歌 你知道我做错了什么吗 提前谢谢。我也有同样的问题: “使用”关键字为我解决了这个问题。请点击链接: 您能使用Fiddler之类的工具捕获它实际发送的原始请求并将其粘贴到此处吗?还有,Paul,您第二次收到的确切错误消息是什么,调试代码时抛出的错误是哪一行。。? String authorizatio

我试图复制这里详述的过程

在C中#

问题是调用GetResponse()时,我收到了错误的请求

ConsumerKey&Secret是我注册应用程序时从谷歌得到的。授权代码也来自谷歌

你知道我做错了什么吗

提前谢谢。

我也有同样的问题: “使用”关键字为我解决了这个问题。请点击链接:


您能使用Fiddler之类的工具捕获它实际发送的原始请求并将其粘贴到此处吗?还有,Paul,您第二次收到的确切错误消息是什么,调试代码时抛出的错误是哪一行。。?
        String authorizationCode = String.Empty;
        String consumerKey       = String.Empty;
        String consumerSecret    = String.Empty;
        String redirectUrl       = String.Empty;
        String grantType         = String.Empty;
        String requestContent = String.Empty;
        HttpWebRequest request = null;
        byte[] byteArray = null;
        Stream dataStream = null;
        WebResponse response = null;
        StreamReader reader = null;
        String serverResponse = String.Empty;

        byte[] authorizationResult = null;

        try
        {
            authorizationCode = HttpUtility.UrlEncode(context.Request.QueryString["code"]);
            consumerKey       = Properties.Settings.Default.GoogleConsumerKey;
            consumerSecret    = Properties.Settings.Default.GoogleConsumerSecret;
            redirectUrl       = Properties.Settings.Default.RedirectUrl;
            grantType = "authorization_code";

            request = (HttpWebRequest)WebRequest.Create("https://accounts.google.com/o/oauth2/token");
            request.Method = "POST";

            requestContent = String.Format("code={0}&client_id={1}&client_secret={2}&redirect_url={3}&grant_type={4}",authorizationCode,consumerKey,consumerSecret,redirectUrl,grantType);
            byteArray = Encoding.UTF8.GetBytes(requestContent);

            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = byteArray.Length;

            dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();

            response = request.GetResponse();
            dataStream = response.GetResponseStream();

            reader = new StreamReader(dataStream);
            serverResponse = HttpUtility.UrlDecode(reader.ReadToEnd());

            reader.Close();
            dataStream.Close();
            response.Close();



        }
        catch (System.Exception ex)
        {
            throw ex;
        }
        finally
        {

        }