经过数百次测试后,我仍然无法通过LinkedIn API访问有关我的1级联系人的信息。
我总是在资源{Person}中出现非常烦人的“Unknown field {”错误。
我使用OAuth2。以下请求完美无缺:
https://api.linkedin.com/v1/people/~?oauth2_access_token=AQW ...
那个没有:
我错过了什么? 任何帮助将不胜感激
以防万一,让我添加一个示例代码
// works
//var url = "https://api.linkedin.com/v1/people/~?oauth2_access_token=" + tokenAccess;
// does not work
var url = "https://api.linkedin.com/v1/people/url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fsebastienrousset?oauth2_access_token=" + tokenAccess;
// create the request
var request = (WebRequest.Create(url) as HttpWebRequest);
string message;
try
{
// now get a response
var response = (request.GetResponse() as HttpWebResponse);
message = "success";
}
catch (WebException wexc)
{
// returned status code is 400 (BadRequest)
message = "failure - HTTP " + ((HttpWebResponse)wexc.Response).StatusCode;
}
答案 0 :(得分:0)
答案是:把它放到你的web.config
中<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
<add name="https" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
.Net框架在URI解析上添加了一个额外的安全性,可以逃避斜杠。 这就是我的请求可以作为linkedin API的BadRequest结束的原因。