2010-09-19 24 views
1

En bref: j'essaie de publier des commentaires et de créer des problèmes sur Google Code via une application Android appelée Abugadro.Aide sur l'API Google Track Issueer

J'ai suivi un morceau très similaire de code ici: Google Spreadsheet API update \ edit with protocol

Lorsque vous essayez de poster un commentaire sur l'API, j'ai obtenu diverses erreurs comme 403 et 501 en fonction des en-têtes que j'utilise.

Quoi qu'il en soit, nous parle de code, voici donc ma pièce:

HttpPost postRequest = new HttpPost("http://code.google.com/feeds/issues/p/"+projName+"/issues/"+issueId+"/comments/full"); 

postRequest.addHeader("Content-Type","application/atom+xml;charset=UTF-8"); 
postRequest.setHeader("Authorization", "GoogleLogin auth=" + auth); 
postRequest.addHeader("User-Agent", "abugadro-v"+getResources().getString(R.string.version)); 
postRequest.addHeader("Accept-Encoding","gzip"); 
postRequest.addHeader("GData-Version", "1.0"); 
//postRequest.addHeader("If-Match", "*");//Not entirely sure if I should use this or not 

HttpEntity se = new StringEntity(xml,"UTF-8"); //Contains the comment info    
postRequest.setEntity(se); 

Le IssueTrackerAPI est très vague sur ce genre de têtes que je devrais utiliser pour poster correctement. http://code.google.com/p/support/wiki/IssueTrackerAPI#Modifying_an_issue_or_creating_issue_comments

P.S. Je sais qu'il y a un client gdata-java mais il n'y a aucune façon saine d'utiliser cette API sur android sans faire glisser ~ 2mb de pots.

J'apprécie vraiment votre aide, cette question m'a rendu fou au-delà de la compréhension. Merci encore.

+0

La dernière version de gdata-java-client, même si je fais glisser tous les jars, ne dépasse pas 500K. J'ai utilisé les bibliothèques OAuth avec succès. Il y a quelques exemples d'OAuth dans Android, pourquoi ne pas essayer? – magaio

+0

J'ai donné un coup de feu à OAuth, mais l'utilisation de 'l'application de bureau' (par opposition à l'application Web) est incroyablement non documentée. En utilisant OAuth, je suis resté bloqué à l'erreur 400 Bad Request, bien que je pense que je pourrais être capable de les résoudre maintenant. – Nushio

+0

Oh et l'API dont je parlais était le pot ProjectHosting, qui n'est pas vraiment destiné à Android car il entraîne beaucoup de dépendances. Mon application est actuellement ~ 180kb, ajoutant 500kb de sons de sons comme overkill: P – Nushio

Répondre

1

La meilleure bibliothèque Android pour API Google est le google-api-java-client, qui prend en charge Android. gdata-java-client ne prend pas en charge Android. Google-api-java-client prend en charge l'API Issue Tracker, mais il n'existe pas encore d'exemple. S'il vous plaît make a request for a sample. Pendant ce temps, vous pouvez jeter un oeil à d'autres exemples écrits pour Android comme picasa-atom-android-sample ou calendar-v2-atom-android-sample.

+0

Je vais certainement vérifier cela Yaniv, et si je le fais vraiment travailler, je vais écrire l'échantillon moi-même. Traiter? : D – Nushio

+0

Ce serait génial, merci! –