我正在尝试使用Scribe库从LinkedIn获取技能信息。
一切正常。但是它不能以XML或JSON格式打印出技能。
我检查了apigee中的URL: https://api.linkedin.com/v1/people/~:(id,skills)。它工作得很好。所以我想知道代码出了什么问题。
代码如下:
public class LinkedInExample {
private static final String PROTECTED_RESOURCE_URL = "https://api.linkedin.com/v1/people/~:(id,skills)";
public static void main(String[] args) {
OAuthService service = new ServiceBuilder()
.provider(LinkedInApi.class)
.apiKey("KEY")
.apiSecret("SECRET")
.build();
Scanner in = new Scanner(System.in);
// Obtain the Request Token
Token requestToken = service.getRequestToken();
System.out.println(service.getAuthorizationUrl(requestToken));
System.out.println("And paste the verifier here");
System.out.print(">>");
Verifier verifier = new Verifier(in.nextLine());
// Trade the Request Token and Verfier for the Access Token
System.out.println("Trading the Request Token for an Access Token");
Token accessToken = service.getAccessToken(requestToken, verifier);
System.out.println("Got the Access Token!");
// Now let's go and ask for a protected resource!
OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
service.signRequest(accessToken, request);
Response response = request.send();
System.out.println(response.getBody());
}
}
这段代码的输出如下所示:
{"id": "UU4glj53pm"}
技能信息缺失
我发现我的应用程序必须获得r_fullprofile成员权限才能获得LinkedIn API的技能信息。所以代码中没有任何错误