如何在Android中获取LinkedIn联系人或朋友列表?

时间:2013-11-15 04:37:37

标签: java android linkedin

任何人都可以帮助我使用LinkedIn API linkedin-j-android.jar获取LinkedIn联系人或朋友或连接列表。我能够获取所有当前用户个人资料但不知道如何获取联系人或朋友列表我已经在SO和Google上找到了很多,但仍然没有得到正确的解决方案。请有人帮我解决这个问题。为此我试过了。

ProgressDialog progressDialog = new ProgressDialog(this);
    LinkedinDialog d = new LinkedinDialog(this, progressDialog);
    d.show();

    // set call back listener to get oauth_verifier value
    d.setVerifierListener(new OnVerifyListener() {
        @Override
        public void onVerify(String verifier) {
            try {
                accessToken = LinkedinDialog.oAuthService
                        .getOAuthAccessToken(LinkedinDialog.liToken,
                                verifier);
                LinkedinDialog.factory.createLinkedInApiClient(accessToken);
                client = factory.createLinkedInApiClient(accessToken);
                // client.postNetworkUpdate("Testing by Mukesh!!! LinkedIn wall post from Android app");
                Loggger.i(TAG, "ln_access_token: " + accessToken.getToken());
                Loggger.i(TAG,
                        "ln_access_token: " + accessToken.getTokenSecret());
                com.google.code.linkedinapi.schema.Person profile = client
                        .getProfileForCurrentUser(EnumSet.of(
                                ProfileField.ID, ProfileField.FIRST_NAME,
                                ProfileField.LAST_NAME,
                                ProfileField.CONNECTIONS));
                linkedInID = profile.getId();

                Loggger.i(TAG, "PersonID : " + linkedInID);
                linkedInFirstName = profile.getFirstName();
                linkedInLastName = profile.getLastName();
                Connections = profile.getConnections();
                Log.e(TAG, "CONNECTION : " + Connections);

                List<Contact> contactList;
                contactList = (ArrayList<Contact>) getIntent()
                        .getSerializableExtra("contact");
                for (int i = 0; i < contactList.size(); i++) {
                    final Contact bean = contactList.get(i);
                    Log.d("Custom-UI",
                            "Display Name = " + bean.getDisplayName());
                    Log.d("Custom-UI",
                            "First Name = " + bean.getFirstName());
                    Log.d("Custom-UI", "Last Name = " + bean.getLastName());
                    Log.d("Custom-UI", "Contact ID = " + bean.getId());
                    Log.d("Custom-UI",
                            "Profile URL = " + bean.getProfileUrl());
                    Log.d("Custom-UI",
                            "Profile Image URL = "
                                    + bean.getProfileImageURL());
                    Log.d("Custom-UI", "Email = " + bean.getEmail());
                }

                Loggger.e(TAG, "connections  : " + Connections);
                Loggger.e(TAG, "linkedin firstname : " + linkedInFirstName);
                Loggger.e(TAG, "linkedin lastname : " + linkedInLastName);



            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });

    // set progress dialog
    progressDialog.setMessage("Loading...");
    progressDialog.setCancelable(true);
    progressDialog.show();

2 个答案:

答案 0 :(得分:1)

r_network范围最近更改为仅限LinkedIn合作伙伴的权限。您可以在此处申请访问他们的合作伙伴计划:

https://developer.linkedin.com/partner-programs/apply

答案 1 :(得分:0)

1.请参阅此链接:https://github.com/Hafiz-Waleed-Hussain/EasyLinkedInAndroid作为库

2.在主java布局中使用:

_EasyLinkedIn = EasyLinkedIn.getInstance(this, "api key",
                "secret key",
                "https://github.com/Hafiz-Waleed-Hussain/EasyLinkedInAndroid",
                "", "");

    _EasyLinkedIn.authorize(MainActivity.this, new Callback() {

        @Override
        public void onSucess(Object data) {

            String fields = "id,first-name,headline";

            _EasyLinkedIn.getUserInfo(this, this, fields);

            String fields1 = "id";

            String url = "https://api.linkedin.com/v1/people/~/connections:(id=Gcn6gB9aCj)?format=json&oauth2_access_token="
                    + EasyLinkedIn.getAccessToken();
            _EasyLinkedIn.getConnections(this, this, fields1);

        }

        @Override
        public void onFailure() {

        }
    });  

onDownloadingComplete()方法使用log来打印对象参数