OAuth Android Response Body不正确

时间:2012-07-30 12:40:14

标签: android oauth

我正在使用OAuth(scribe-1.3.0.jar)做一个Android应用程序,我想获取请求和访问令牌并登录到linkedIn,但我不知道该怎么做。

我使用这个java示例:https://developer.linkedin.com/documents/quick-start-guide但它崩溃了令牌请求= service.getRequestToken();并告诉我这个问题:

无法从中提取令牌和秘密:'oauth_problem = timestamp_refused& oauth_acceptable_timestamps = 1343651511%2B-300'

我使用webview进行记录,但由于之前的休息而无法正常工作。

当我点击webview按钮时,这是我的一段代码:

public class WebViewActivity extends Activity {

String RequestUrl ="https://api.linkedin.com/uas/oauth/requestToken"; 
String AccessUrl ="https://api.linkedin.com/uas/oauth/accessToken";
String AuthUrl ="https://api.linkedin.com/uas/oauth/authorize";
String AuthenticateUrl="https://www.linkedin.com/uas/oauth/authenticate";

private static String API_KEY = "xxxx";
private static String API_SECRET = "xxxx";

public static final String OAUTH_TIMESTAMP = "oauth_timestamp";
public static final String OAUTH_NONCE = "1234";
public static final String OAUTH_CALLBACK_SCHEME    = "x-oauth-linkedin";
public static final String OAUTH_CALLBACK_HOST      = "callback";
public static final String OAUTH_CALLBACK_URL       = OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;
private WebView webView;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
    setContentView(R.layout.webauth);

    Log.d("BROWSER","");
    OAuthService service = new ServiceBuilder()
                        .provider(LinkedInApi.class)
                        .apiKey(API_KEY)
                        .apiSecret(API_SECRET)      
                        .callback(OAUTH_CALLBACK_URL)
                        .build();
    Scanner in = new Scanner(System.in);

    Token request = service.getRequestToken();
    String authUrl = service.getAuthorizationUrl(request);
    Verifier verifier = new Verifier(in.nextLine());
    Token accessToken = service.getAccessToken(request, verifier);


    OAuthRequest requestToken = new OAuthRequest(Verb.GET,"https://api.linkedin.com/uas/oauth/requestToken");

    service.signRequest(accessToken,requestToken);
    Response response = requestToken.send();

    webView = (WebView) findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl(AuthenticateUrl);
}

}

0 个答案:

没有答案