Java 抄写1.3 linkedin API共享请求返回401-未经授权
我正试图从我的web应用程序向我的linkedin发送共享内容,但看起来我做错了什么 这是我的java代码:Java 抄写1.3 linkedin API共享请求返回401-未经授权,java,linkedin,scribe,Java,Linkedin,Scribe,我正试图从我的web应用程序向我的linkedin发送共享内容,但看起来我做错了什么 这是我的java代码: String payload = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ "<share>" + "<comment>testing</comment>" + "<visibility><code>anyone</cod
String payload = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<share>" +
"<comment>testing</comment>" +
"<visibility><code>anyone</code></visibility>" +
"</share>";
String PROTECTED_RESOURCE_URL = "http://api.linkedin.com/v1/people/~/shares";
OAuthService service = new ServiceBuilder()
.provider(LinkedInApi.class)
.apiKey("XXXXXXXXX")
.apiSecret("XXXXXXXXX")
.debug()
.build();
Scanner in = new Scanner(System.in);
Token requestToken = service.getRequestToken();
// here is for enter the confirmation code while i'm use ooB, use callback in future
System.out.println("Now go and authorize Scribe here:");
System.out.println(service.getAuthorizationUrl(requestToken));
System.out.println("And paste the verifier here");
System.out.print(">>");
Verifier verifier = new Verifier(in.nextLine());
Token accessToken = service.getAccessToken(requestToken, verifier);
OAuthRequest request = new OAuthRequest(Verb.POST, PROTECTED_RESOURCE_URL);
request.addPayload(payload);
service.signRequest(accessToken, request);
Response response = request.send();
所有这些看起来都在调试控制台中工作,但当我尝试打印响应正文时,我得到以下结果:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<status>401</status>
<timestamp>1341657286653</timestamp>
<request-id>4STP3FUGSG</request-id>
<error-code>0</error-code>
<message>[unauthorized]. OAU:XXXXXXX|3619482b-ea17-4382-8008-5b108e90c4a2|*01|*01:1341657286:wp7SeE6fAPIj5cSKfd3t+lZfwpE=</message>
</error>
401
1341657286653
4STP3FUGSG
0
[未经授权]。非统组织:XXXXXXX | 3619482b-ea17-4382-8008-5b108e90c4a2 |*01 |*01:1341657286:WP7见6FAPIJ5CSKFD3T+lZfwpE=
我怎样才能解决这个问题?谢谢Pablo,
在这种情况下,调试模式对我没有帮助,但通过一些搜索,我发现了问题:
为类似这样的Post请求添加标题
request.addHeader("Content-Length", Integer.toString(payload.length()));
request.addHeader("Content-Type", "text/xml");
您打开了
debug
模式。使用该标志,您的控制台显示打印有用的信息,您可以在的论坛中发布并获得帮助。感谢您添加答案,我花了2个小时调试相同的错误,直到发现此错误。太多了!可能节省了我几个小时。