如何获取长期验证的授权码。我正在使用Bing Ads API v 9.0。

这是我的代码。

string urlstring = "https://login.live.com/oauth20_authorize.srf?client_id=" + ClientId + "&scope=bingads.manage&response_type=code&redirect_uri=" + "https://login.live.com/oauth20_desktop.srf";
            var realUri = new Uri(urlstring,UriKind.Absolute);
            var addy = realUri.AbsoluteUri.Substring(0, realUri.AbsoluteUri.Length - realUri.Query.Length);
            var MyClient = WebRequest.Create(addy) as HttpWebRequest;
            MyClient.Method = WebRequestMethods.Http.Post;
            MyClient.Headers[HttpRequestHeader.AcceptLanguage]="en-us";
            MyClient.ContentType = "application/x-www-form-urlencoded";
            using (var writer = new StreamWriter(MyClient.GetRequestStream()))
            {
                writer.Write(realUri.Query.Substring(1));
            }

            var response = (HttpWebResponse)MyClient.GetResponse();

            for (int i = 0; i < response.Headers.Count; i++)
            {
                Console.WriteLine(response.Headers.GetKey(i) + " -- " + response.Headers.Get(i).ToString());
            }
            var responseSerializer = new DataContractJsonSerializer(typeof(AccessTokens));
            AccessTokens tokenResponse = null;
            using (Stream responseStream = response.GetResponseStream())
            {
                if (responseStream != null)
                    tokenResponse = (AccessTokens)responseSerializer.ReadObject(responseStream);
            }


我正在关注this文档。

最佳答案

以下以下代码生成Web的授权代码。

private const string ClientId = "xxxxxxxxxxxxxx";
 private const string RedirectionUri = "Your Redirection URL";
// Redirection URL should be defined during the app registration.
string urlstring = "https://login.live.com/oauth20_authorize.srf?client_id=" + ClientId + "&scope=bingads.manage&response_type=code&redirect_uri=" + RedirectionUri;
Response.Redirect(urlstring);


Response.Redirect(urlstring)重定向到页面。使用以下命令在重定向页面上获取授权代码

string authCode = Request.QueryString["code"];

08-06 03:07