1

任何人都可以帮助我使用 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();
4

2 回答 2

1

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

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

于 2016-06-14T06:51:49.093 回答
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() 方法使用日志打印对象参数

于 2013-11-15T04:53:23.450 回答