0

AndroidプラットフォームでGoogleリーダーに関する開発を行っています。

google reader apiを使用して、RSS リストを正常に取得できます。しかし、RSS アイテムを既読にしようとすると、「411 長さが必要です」というエラーが発生しました。これは私のコードです:

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(
            "http://www.google.com/reader/api/0/edit-tag");
    httppost.addHeader("Authorization", auth);

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("i", itemId));
    nameValuePairs.add(new BasicNameValuePair("a",
            "user/-/state/com.google/read"));
    nameValuePairs.add(new BasicNameValuePair("async", "true"));
    nameValuePairs.add(new BasicNameValuePair("T", token));
    nameValuePairs.add(new BasicNameValuePair("s", feedUrl));
    try {
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        Toast.makeText(getApplicationContext(),
                EntityUtils.toString(response.getEntity()),
                Toast.LENGTH_LONG).show();
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

何か間違っていることでも?

4

1 に答える 1

0

私はこの問題を自分で解決しました。

authパーツの最後に追加の改行文字があるため、このエラーが発生'\n'しました。trim()だから私はメソッドを使用してそれを削除します。

それは今動作します。これが誰かを助けることができることを願っています。

于 2012-07-02T01:16:43.717 に答える