Android:Linkedin请求令牌失败

时间:2012-11-23 07:21:44

标签: linkedin

我在我的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

请给我一些解决方案来解决这个问题。

1 个答案:

答案 0 :(得分:0)

替换代码中的以下行

  public String scopeParams="rw_nus+r_baseprofile";    

   public String scopeParams="rw_nus+r_basicprofile";

由于权限范围为r_basicprofile,但您已写为r_baseprofile

希望它会对你有所帮助。