I Agreed OAuth User Agreement:
Default Scope: r_basicprofile r_fullprofile
URL
private static final String host = "api.linkedin.com";
private static final String PROTECTED_URL_GET_CURRENT_USER_PROFILE = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,picture-url,industry)";
Rest all i am getting except email address.? Any one know why?
You have to specify email permission when you build a scope Scope.R_EMAILADDRESS
eg.
private static Scope buildScope() {
return Scope.build(Scope.R_BASICPROFILE, Scope.W_SHARE,Scope.R_EMAILADDRESS);
}
linkedin urls
private static final String host = "api.linkedin.com";
private static final String topCardUrl = "https://" + host
+ "/v1/people/~:(id,first-name,last-name,public-profile-url,picture-url,email-address,picture-urls::(original))";
this is login code
public void login() {
LISessionManager sessionManager = LISessionManager
.getInstance(context);
LISession session = sessionManager.getSession();
boolean accessTokenValid = session.isValid();
if (accessTokenValid) {
getProfile();
} else {
LISessionManager.getInstance(context).init(context, buildScope(),
new AuthListener() {
@Override
public void onAuthSuccess() {
loginSuccess(LISessionManager.getInstance(context)
.getSession().getAccessToken());
}
@Override
public void onAuthError(LIAuthError error) {
loginFailed(error);
}
}, true);
}
}
this is for getting profile
public void getProfile() {
APIHelper apiHelper = APIHelper.getInstance(context);
apiHelper.getRequest(context, topCardUrl, new ApiListener() {
@Override
public void onApiSuccess(ApiResponse s) {
onProfileSuccess(s);
}
@Override
public void onApiError(LIApiError error) {
onProfileError(error);
}
});
}