fargath
fargath

Reputation: 7884

Unable to get public profile url from LinkedIn in Android (BufferedInputStream is closed)

I am unable to get the public profile url and get or post from the LinkedIn api in Android. I'm using linkedin-j-android source. I'm able to get successful accesstoken but when calling this line from OnNewIntent.

Edited: I have internet permission in my app. So this will not be a problem.

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());
    }

the app crashes. Below is the log trace.

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)

Please help me. Thanks in advance.

Upvotes: 6

Views: 1389

Answers (2)

fargath
fargath

Reputation: 7884

I'm answering my own question because it may help some people. The code was right from my end, the problem was in intent-filter. android:scheme and android:host mismatch with OAUTH_CALLBACK_URL. When changing this, problem solved.

Upvotes: 0

Nimish Choudhary
Nimish Choudhary

Reputation: 2088

is this code snippet working for you :

   Person profile = client.getProfileForCurrentUser();
   Log.v("","PUBLIC_PROFILE_URL:" + profile.getPublicProfileUrl());

Upvotes: 2

Related Questions