BaseCamp API не предоставляет ответы JSON - PullRequest
1 голос
/ 02 февраля 2012

Я пытаюсь реализовать API Basecamp в приложении Android.Я пытаюсь переименовать URL-адрес с .xml расширение на .json.Он работает нормально для некоторых веб-сервисов, таких как люди, компании и т. Д.

Но когда я пытаюсь получить ответ json конкретной компании, он дает мне ответ в xml, хотя я запрашиваю json.

как

String url =  "https://"+ domain +"/companies/" + companyId +".json"

, а также то же самое для

"https://" + domain + "/projects/count.json".

Также я пытаюсь реализовать ссылки ниже, это не дает мне результат в jsonпустой ответ), но если я изменяю расширение с .json на .xml, тогда оно работает нормально для меня и дает ответ в XML

 1. "https://" + domain + "/projects/" + projectid +
    "/calendar_entries/milestones.json" 

 2. "https://" + domain + "/todo_lists.json?responsible_party=" + id

 3. "https://" + domain + "/projects/" + projectId +
    "/calendar_entries.json"

 4. "https://" + domain + "/projects/" + projectId +
    "/categories.xml?type=post"

Я использую API полного Rest для соединения сВеб-сервис Restful.

Я не знаю, почему я не получаю ответ json от веб-сервиса.

Пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 02 февраля 2012

Глядя на свои документы API , кажется, что они не поддерживают ответы JSON.

API Basecamp реализован в виде обычного XML через HTTPиспользуя все четыре глагола (GET / POST / PUT / DELETE)

Некоторые маршруты могут возвращать json - возможно, они работают с ответами json и еще не развернуты.Но в документах говорится, что это XML, так что вы застряли с XML на данный момент.

0 голосов
/ 05 февраля 2013

Похоже, вы используете API Basecamp Classic, который не поддерживает JSON-ответ.

Абсолютно новый Basecamp имеет совершенно новый API, поддерживающий API в стиле REST, который использует JSON для сериализации и OAuth 2 для аутентификации. Вы можете найти его здесь (https://github.com/37signals/bcx-api).

0 голосов
/ 02 февраля 2012

Вы можете попробовать добавить 'Accept' в заголовки запросов, например,

Accept : application/json
...