我在我的android项目中使用了版本1.0.429的linkedin-j-android.jar
这是用于下载修补的linkedin-j-android.jar并使用范围修复的链接 http://db.tt/yQjhqeq3 下面是我在我的项目中使用的代码:
class ShowNetWorkUtils{
public static final String CONSUMER_KEY = "xxxxx";
public static final String CONSUMER_SECRET = "yyyy";
public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-linkedin";
public static final String OAUTH_CALLBACK_HOST = "calback";
public String scopeParams="rw_nus+r_baseprofile";
public static final String OAUTH_CALLBACK_URL = OAUTH_CALLBACK_SCHEME
+ "://" + OAUTH_CALLBACK_HOST;
private void configureLinkedIn() {
new Thread(){
@Override
public void run() {
try {
Looper.prepare();
LinkedInOAuthService oauthService = LinkedInOAuthServiceFactory.getInstance().createLinkedInOAuthService (CONSUMER_KEY,CONSUMER_SECRET,scopeParams);
LinkedInApiClientFactory factory = LinkedInApiClientFactory.newInstance(CONSUMER_KEY,CONSUMER_SECRET);
LinkedInRequestToken liToken = oauthService.getOAuthRequestToken(OAUTH_CALLBACK_URL);
//LinkedInRequestToken liToken = oauthService.getOAuthRequestToken();
String url = liToken.getAuthorizationUrl();
/* For Linkedin dialog create and show */
LKDialog lkdDialog = new LKDialog(_context, url);
LKDialog lkdDialog.setDelegate(ShowNetWorkUtils.this);
LKDialog lkdDialog.show();
Looper.loop();
}
catch (Exception e) {
e.printStackTrace();
}
} //End run
}.start();
}
} //End Class
当我在行“oauthService.getOAuthRequestToken(OAUTH_CALLBACK_URL)”中请求令牌时我得到了异常,并且我也使用了“oauthService.getOAuthRequestToken()”但是在这种情况下我也得到了相同的异常。
例外是: com.google.code.linkedinapi.client.oauth.LinkedInOAuthServiceException:oauth.signpost.exception.OAuthCommunicationException:与服务提供商的通信失败:https://api.linkedin.com/uas/oauth/requestToken?scope=rw_nus+r_baseprofile
请给我一些解决方案来解决这个问题。
答案 0 :(得分:0)
替换代码中的以下行
public String scopeParams="rw_nus+r_baseprofile";
带
public String scopeParams="rw_nus+r_basicprofile";
由于权限范围为r_basicprofile
,但您已写为r_baseprofile
希望它会对你有所帮助。