LinkedIn访问令牌api在c#中返回错误的请求错误

问题描述 投票:0回答:1

我正在使用链接的oauth 2 api来获取访问令牌。但是我从该api获得了400(BadRequest)响应。我正在共享下面的代码

NameValueCollection parameters = new NameValueCollection();
parameters.Add("grant_type", "authorization_code");
parameters.Add("code", Code);
parameters.Add("redirect_uri", RedirectURL);
parameters.Add("client_id", ClientId);
parameters.Add("client_secret", ClientSecret);


WebClient client = new WebClient();
client.Headers[HttpRequestHeader.ContentType]="application/x-www-form-urlencoded";
var result = client.UploadValues("https://www.linkedin.com/oauth/v2/accessToken", parameters);

谁能帮助我找到这里出了什么问题。我传递了所有参数的正确值,从我的应用程序获得了client_idclient_secret以及我从初始授权请求获得的代码。

我无法在邮递员中测试这种情况,因为身份验证令牌请求取决于授权步骤生成的代码。

c# oauth-2.0 linkedin
1个回答
1
投票

AuthorizationUrl必须如下所示

https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=78y4rii84jcf43&state=E30980C1T666444z&redirect_uri=https://www.testWeb.com

访问令牌网址将如下所示,

https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=AQTTP5DZ68JHRVO2_i9vpie8KBZ3gfgffhjfhjfhjfp88hf3szNauFkUpuvqfyKhjsmO7Bcps4JXUo1EWQay1q1q1MXKsajRWoZ4q-ofmTjJfknaYTk5SO5oHUgfhgfdsgfdgdfdgfsgdgdhgdhgddipkfTIzdkGUSWZkPYS1&client_id=78y4rii465rv084&redirect_uri=https://www.testweb.com&client_secret=1t56E7bLDl2fnVWh

并且你的Params遗失了

Qazxswpoi之后的QUESTION_MARK(?)

您的Grant类型参数必须包含grant_type = authorization_code而不是&param而不是client_id = YourApiKey而不是&param而不是redirect_uri = YourRedirectUri而不是&client_secret = YourSecretKey

© www.soinside.com 2019 - 2024. All rights reserved.