2012-06-29 2 views
0

Je fais un peu de développement sur google reader sur la plate-forme android.Google lecteur api marque comme lu retour erreur 411 (en utilisant Java sur Android)

En utilisant google reader api, je peux obtenir avec succès la liste RSS. Mais quand je veux marquer l'article RSS comme lu, j'ai l'erreur "411 Length required". Ceci est mon code:

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(); 
    } 

Y at-il une erreur?

Répondre

0

J'ai résolu ce problème moi-même.

J'ai eu cette erreur parce que la partie auth a un caractère de nouvelle ligne supplémentaire '\n' à la fin. Donc, je l'enlève en utilisant la méthode trim().

Cela fonctionne maintenant. J'espère que cela peut aider quelqu'un.

Questions connexes