无法使用 Scribe 从 Linkedin API 获取技能
Unable to get skills from Linkedin API using Scribe
我正在尝试使用 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 的技能信息。所以代码没有错。
我正在尝试使用 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 的技能信息。所以代码没有错。