The remote server returned an error: (401) Unauthorized from LinkedIn
The remote server returned an error: (401) Unauthorized from LinkedIn
我正在使用此代码并遇到错误:
The remote server returned an error: (401) Unauthorized.
根据他们的文档,我确实设置了 headers。
https://developer.linkedin.com/docs/share-on-linkedin#
我错过了什么?任何帮助将不胜感激。谢谢!
JToken accessCode = myAccessToken;
string requestUrl = "https://api.linkedin.com/v1/people/~/shares?oauth2_access_token=" +
accessCode;
WebRequest request = WebRequest.Create(requestUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("x-li-format", "json");
using (var stream = new StreamWriter(request.GetRequestStream()))
{
var shareMsg = new
{
comment = "comment"
content = new
{
title = "title",
submitted_url = "url,
submitted_image_url = "image_url",
description = string.Empty
},
visibility = new { code = "anyone" }
};
string json = JsonConvert.SerializeObject(shareMsg);
stream.Write(json);
stream.Flush();
stream.Close();
}
WebResponse webResponse = request.GetResponse();
Stream dataStream = webResponse.GetResponseStream();
var reader = new StreamReader(dataStream);
string response = reader.ReadToEnd();
注销然后再次使用 Linked In 进行身份验证解决了我的问题。
对于遇到类似问题的人,您可能需要检查以下内容:
- 访问令牌有效
- 检查正确的权限(
w_share
在我的例子中)
- 检查是否有权利headers
- 有人报告说如果您等待几分钟它就会开始工作
- 从您的应用程序中注销 Linked In 并再次进行身份验证(我的解决方案)
其他解决方案:
- https://whosebug.com/a/41569491/7312674
希望它能帮助人们节省一些时间。
我正在使用此代码并遇到错误:
The remote server returned an error: (401) Unauthorized.
根据他们的文档,我确实设置了 headers。
https://developer.linkedin.com/docs/share-on-linkedin#
我错过了什么?任何帮助将不胜感激。谢谢!
JToken accessCode = myAccessToken;
string requestUrl = "https://api.linkedin.com/v1/people/~/shares?oauth2_access_token=" +
accessCode;
WebRequest request = WebRequest.Create(requestUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("x-li-format", "json");
using (var stream = new StreamWriter(request.GetRequestStream()))
{
var shareMsg = new
{
comment = "comment"
content = new
{
title = "title",
submitted_url = "url,
submitted_image_url = "image_url",
description = string.Empty
},
visibility = new { code = "anyone" }
};
string json = JsonConvert.SerializeObject(shareMsg);
stream.Write(json);
stream.Flush();
stream.Close();
}
WebResponse webResponse = request.GetResponse();
Stream dataStream = webResponse.GetResponseStream();
var reader = new StreamReader(dataStream);
string response = reader.ReadToEnd();
注销然后再次使用 Linked In 进行身份验证解决了我的问题。
对于遇到类似问题的人,您可能需要检查以下内容:
- 访问令牌有效
- 检查正确的权限(
w_share
在我的例子中) - 检查是否有权利headers
- 有人报告说如果您等待几分钟它就会开始工作
- 从您的应用程序中注销 Linked In 并再次进行身份验证(我的解决方案)
其他解决方案: - https://whosebug.com/a/41569491/7312674
希望它能帮助人们节省一些时间。