6

我无法从 Android 中的 LinkedIn api 获取公共个人资料 url 并获取或发布。我正在使用linkedin-j-android 源。我能够获得成功的访问令牌,但是当从OnNewIntent.

编辑:我的应用程序有互联网权限。所以这不会是一个问题。

Person profile = client.getProfileForCurrentUser(EnumSet.of(ProfileField.PUBLIC_PROFILE_URL));

 @Override
    protected void onNewIntent(Intent intent) {     

        String verifier = intent.getData().getQueryParameter("oauth_verifier");
        LinkedInAccessToken accessToken = oAuthService.getOAuthAccessToken(liToken, verifier);
        client = factory.createLinkedInApiClient(accessToken);      
        Person profile = client.getProfileForCurrentUser(EnumSet.of(ProfileField.PUBLIC_PROFILE_URL));
        Log.v("","PUBLIC_PROFILE_URL:" + profile.getPublicProfileUrl());
    }

应用程序崩溃。下面是日志跟踪。

FATAL EXCEPTION: main
com.google.code.linkedinapi.client.LinkedInApiClientException: java.io.IOException: BufferedInputStream is closed
at com.google.code.linkedinapi.client.impl.LinkedInApiXppClient.unmarshallObject(LinkedInApiXppClient.java:167)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.readResponse(BaseLinkedInApiClient.java:3710)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.callApiMethod(BaseLinkedInApiClient.java:3777)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.callApiMethod(BaseLinkedInApiClient.java:3725)
at com.google.code.linkedinapi.client.impl.BaseLinkedInApiClient.getProfileForCurrentUser(BaseLinkedInApiClient.java:1122)

请帮我。提前致谢。

4

2 回答 2

2

此代码片段是否适合您:

   Person profile = client.getProfileForCurrentUser();
   Log.v("","PUBLIC_PROFILE_URL:" + profile.getPublicProfileUrl());
于 2013-01-25T08:44:39.340 回答
0

我正在回答我自己的问题,因为它可能对某些人有所帮助。代码是正确的,问题出在intent-filter. android:scheme并且android:host与 OAUTH_CALLBACK_URL 不匹配。更改此设置时,问题解决了。

于 2013-02-25T11:48:47.743 回答