【问题标题】:BaseCamp API doesn't provide JSON responsesBaseCamp API 不提供 JSON 响应
【发布时间】:2012-02-02 12:01:06
【问题描述】:

我正在尝试在 Android 应用程序中实现 Basecamp API。我正在尝试将 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"

我正在使用 Rest 完整 API 来连接 Restful Web 服务。

我不知道为什么我没有收到来自网络服务的 json 响应。

请帮帮我。

【问题讨论】:

标签: android json restful-url basecamp


【解决方案1】:

查看their API docs,他们似乎不支持 JSON 响应。

Basecamp API 是通过 HTTP 使用所有四个动词 (GET/POST/PUT/DELETE) 实现的 vanilla XML

一些路由可能返回 json - 可能他们正在处理 json 响应并且尚未推出。但是文档说它是 XML,所以你现在被 XML 卡住了。

【讨论】:

  • 但在讨论中groups.google.com/group/37signals-api/browse_thread/thread/…支持一些JSON请求。
  • @Dharmendra - “我们对此不做任何保证”。这也概括了我的回答。
  • SO Sathya 我应该怎么做,使用 XML 还是 JSON?我已经使用 JSON 实现了一些服务,所以我应该将它们更改为 XML 吗?
  • @Dharmendra 您应该更改为 XML。除非他们正式宣布 json,否则我不会使用它,因为你永远不知道他们什么时候会停止。
  • 是的,这就是重点。我应该将 JSON 更改为 XML。谢谢您的帮助。:)
【解决方案2】:

您可以尝试在请求标头中添加“接受”,例如

Accept : application/json

【讨论】:

    【解决方案3】:

    您似乎在使用不支持 JSON 响应的 Basecamp Classic API。

    全新的 Basecamp 具有支持 REST 样式的 API 的全新 API,该 API 使用 JSON 进行序列化和 OAuth 2 进行身份验证。你可以在这里找到它 (https://github.com/37signals/bcx-api)。

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多