2010-09-19 2 views
1

Короче говоря: я пытаюсь опубликовать комментарии и создавать проблемы в Google Code через приложение Android под названием Abugadro.Помощь с Google Code Issue Tracker API

Я последовал очень похожий фрагмент кода здесь: Google Spreadsheet API update \ edit with protocol

При попытке опубликовать комментарий на API, я получил различные ошибки, как 403 и 501 в зависимости от заголовков, которые я использую.

Во всяком случае, переговоры кода, так вот мой кусок:

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

IssueTrackerAPI очень расплывчато, какие заголовки я должен использовать, чтобы правильно размещать. http://code.google.com/p/support/wiki/IssueTrackerAPI#Modifying_an_issue_or_creating_issue_comments

P.S. Я знаю, что есть gdata-java-клиент, но нет разумного способа использовать этот api на андроиде, не перетаскивая ~ 2 МБ банок.

Я очень ценю вашу помощь, этот вопрос заставлял меня сумасшедшим за пределами понимания. Еще раз спасибо.

+0

Последняя версия gdata-java-client, даже если я перетаскиваю все банки, составляет не более 500K. Я успешно использовал библиотеки OAuth. В Android есть несколько образцов OAuth, почему бы вам не сделать снимок? – magaio

+0

Я дал OAuth выстрел, но использование «настольного приложения» (в отличие от веб-приложения) безумно недокументировано. Используя OAuth, я застрял в ошибке 400 Bad Request, хотя я думаю, что смогу решить их сейчас. – Nushio

+0

О, и API, о котором я говорил, был банком ProjectHosting, который на самом деле не предназначен для Android, поскольку он действительно тянет много зависимостей. Мое приложение в настоящий момент составляет ~ 180 кбайт, добавив 500 кбайт банок, таких как overkill: P – Nushio

ответ

1

Лучшая библиотека Android для API Google - это google-api-java-client, которая поддерживает Android. gdata-java-client не поддерживает Android.

google-api-java-клиент поддерживает API-интерфейс отслеживания ошибок, но пока нет образца. Пожалуйста, make a request for a sample. Между тем, вы можете взглянуть на некоторые другие примеры, написанные для Android, такие как picasa-atom-android-sample или calendar-v2-atom-android-sample.

+0

Я обязательно проверю это на Яниве, и если я на самом деле его заработаю, я сам напишу образец. По рукам? : D – Nushio

+0

Это было бы здорово, спасибо! –