HttpClient连接到Google Tasks API时出现身份验证错误

时间:2012-05-12 06:18:20

标签: android oauth-2.0

我正在尝试使用HttpClient连接到Google Tasks,但总是收到“Unauthorized HttpResponseException”。

这是我在AccountManagerCallback

的“run”方法中的代码
 @Override
    public void run(AccountManagerFuture<Bundle> result) {
        // Get the result of the operation from the AccountManagerFuture.
        Bundle bundle;
        try {
            bundle = result.getResult();
            token = bundle.getString(AccountManager.KEY_AUTHTOKEN);
            Log.i("#######", token); // token does have value

            String url = "https://www.googleapis.com/tasks/v1/users/@me/lists?key=" + your_api_key;
            HttpGet getRequest = new HttpGet(url);
            getRequest.addHeader("client_id", your_client_id);
            getRequest.addHeader("client_secret", your_client_secret);
            getRequest.addHeader("Authorization", "OAuth " + token);

            HttpClient httpclient = new DefaultHttpClient();

            String responseBody = httpclient.execute(getRequest, new BasicResponseHandler()); // exception raised here

            Log.i("###", responseBody); // cannot get the response here     

        } catch (OperationCanceledException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (AuthenticatorException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

我正在使用Google API Level 10模拟器,它可以访问互联网,我确实在其中添加了一个Google帐户。

感谢任何有助于我的代码工作的帮助或建议。感谢。

0 个答案:

没有答案