Asp.net Linkedin Api远程服务器返回错误:(401)未经授权
我正在开发Linkedin Api。 在我的OAuthLinkedin.cs中, 我有以下资料:Asp.net Linkedin Api远程服务器返回错误:(401)未经授权,asp.net,Asp.net,我正在开发Linkedin Api。 在我的OAuthLinkedin.cs中, 我有以下资料: public string WebResponseGet(HttpWebRequest webRequest) { StreamReader responseReader = null; string responseData = ""; try {
public string WebResponseGet(HttpWebRequest webRequest)
{
StreamReader responseReader = null;
string responseData = "";
try
{
responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
responseData = responseReader.ReadToEnd();
}
catch
{
throw;
}
finally
{
webRequest.GetResponse().GetResponseStream().Close();
responseReader.Close();
responseReader = null;
}
return responseData
);
}
我的代码可以获得oauthToken,oauthTokenSecret
WebResponseGet(HttpWebRequestWebRequest)是它失败的地方。
状态:System.Net.WebExceptionStatus.Protocol error远程服务器返回错误:(401)未经授权
在请求访问linkedin的权限后,它能够获得令牌机密。
但我不确定这个未经授权的错误。这是许可问题吗。
我在哪里查这个
谢谢
Sun以下是一些您可以尝试找出问题根源的方法:
- 使用此OAuth测试控制台并将您正在生成的头与此工具生成的头进行比较: 如果您的标题错误,LinkedIn将返回401状态
- 如果您在请求中向LinkedIn发布XML,请确保内容类型(webRequest.ContentType)为“application/XML”而不是“application/x-www-form-urlencoded”,否则LinkedIn将返回401状态
- 这件事也发生在我身上,但我发现我做错了什么
无论何时创建签名,都将Token和TokenSecret设置为空。它对我有效,因为它从浏览器请求中获取旧令牌和令牌机密
//Generate Signature
string sig = this.GenerateSignature(uri,
this.ConsumerKey,
this.ConsumerSecret,
this.Token,
this.TokenSecret,
method.ToString(),
timeStamp,
nonce,
out outUrl,
out querystring);
希望你在这篇文章中匿名透露你的象征性秘密;-)