在LinkedIn中通过id获取某个人的连接

时间:2014-05-06 11:10:02

标签: java linkedin linkedin-j

我需要获取id为yZTcaxINNv的用户的连接。我使用linkedin-j,代码看起来像这样

import com.google.code.linkedinapi.client.LinkedInApiClient;
import com.google.code.linkedinapi.client.LinkedInApiClientFactory;
import com.google.code.linkedinapi.schema.Connections;
import com.google.code.linkedinapi.schema.Person;


public class Linkedin_Data_Extract {



public static void main(String[] args) {
       final String consumerKeyValue = "My key";
        final String consumerSecretValue ="My Secret";
        final String accessTokenValue = "Access Token";
        final String tokenSecretValue = "Secret";
        final String id = "yZTcaxINNv";


    final LinkedInApiClientFactory factory = LinkedInApiClientFactory.newInstance(consumerKeyValue, consumerSecretValue);
    final LinkedInApiClient client = factory.createLinkedInApiClient(accessTokenValue, tokenSecretValue);


    Connections cc=client.getConnectionsById(id);

    for(Person p :cc.getPersonList()) {
        System.out.println(p.getLastName());
        System.out.println(p.getId());
        System.out.println("Industry      "+p.getIndustry());
        System.out.println("currentStatus "+p.getCurrentStatus());
        System.out.println("link          "+p.getPublicProfileUrl());
        System.out.println("position      "+p.getEducations());
        System.out.println();
    }
    }

} 但我得到一个像这样的错误

Exception in thread "main" com.google.code.linkedinapi.client.LinkedInApiClientException: Access to connections denied
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.createLinkedInApiClientException(BaseLinkedInApiClient.java:3906)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.callApiMethod(BaseLinkedInApiClient.java:3781)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.callApiMethod(BaseLinkedInApiClient.java:3725)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.getConnectionsById(BaseLinkedInApiClient.java:235)
at Linkedin_Data_Extract.main(Linkedin_Data_Extract.java:27)

为什么我会收到许可问题

1 个答案:

答案 0 :(得分:1)

通过OAuth访问其他用户信息的第三方API需要得到用户自己的明确许可。

通常情况下,这会通过弹出窗口发生,要求用户允许/拒绝您的应用操作他的数据。我猜这是你问题的来源。

我不知道linkedin-j是如何做到这一点的,但是如果你想要替代方案,你可以试试Spring Social,其中有一个专门针对Linkedin的模块。如果你很好奇,请参阅我给你的页面中的快速入门示例