在领英中通过id获取一个人的联系



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

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)

为什么我得到许可问题

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

通常,这是通过一个弹出窗口发生的,用户被要求允许/拒绝你的应用程序操作他的数据。我猜这就是你的问题所在。

我不知道Linkedin -j是如何做到这一点的,但如果你有其他选择,你可以试试Spring Social,它有一个专门针对Linkedin的模块。如果你感兴趣,可以参考我给你的快速入门示例

最新更新