Web应用程序API的用例?

时间:2010-10-28 14:48:41

标签: web-services api rest

现在很多Web应用程序都在为其他应用程序提供API。

我是API的新手,所以我想了解它的用例。

让我们以Basecamp为例。

在我的网络应用程序中使用API​​的用例是什么?

  1. 将我的网络应用程序中的当前数据插入新创建的Basecamp帐户,而不是手动插入所有内容,如果数据量很大,可能需要数天或数周?
  2. 用于在用户更改Basecamp中的内容时更新我的​​应用程序数据。如果是这样,我如何知道用户在Basecamp中添加/编辑/删除联系人的时间。我是否提出请求并从后端检查每一分钟?
  3. 为了备份Basecamp数据,我可以在必要时将其移至其他应用程序吗?
  4. 以上所有示例都是使用API​​的良好用例吗?

    是否有更多用例?

    我希望能够清楚地了解为什么使用其他网络服务API以及如何在我的应用程序中利用它。

    感谢。

2 个答案:

答案 0 :(得分:3)

我发现使用和提供Web服务的最大原因是能够以另一个进程以编程方式驱动应用程序。这允许在由一个事件/过程/触发器驱动的不同应用程序中耦合不同的动作。

例如,我可以创建一个使用由Basecamp,我的错误跟踪数据库和持续集成服务器提供的Web服务。我可以把所有这些东西绑在一起,然后从提交钩子脚本中取出它们。

我可以让生产中的监视器自动在我们的票证跟踪器中打开票证。这可能会触发来自票证跟踪器的自动修复过程,该过程远程登录到盒子并重新启动服务。

我见过使用和提供网络服务的另一个主要原因是减少双重进入。如果您在生产环境中更改管理,通常意味着您创建更改票证。发生的变化也可能需要反映在变更管理数据库中,变通管理数据库通常是生产假设的模型。这些系统中的大多数都不会使用更改中的数据自动驱动配置项的更新。使用Web服务,您可以将它们拼接在一起,以消除通常会发生的双重(手动)条目。

答案 1 :(得分:0)

每次想要在不使用默认界面的情况下从应用程序获取数据时都会使用

*我敢打赌,移动应用会使用basecamp api *您可以使用api将信息从basecamp提取到另一个应用程序(如项目经理软件或个人的待办事项网页) *我们最讨厌的人可能更喜欢从脚本/命令行更新basecamp,而不是打断我们的工作流程来打开网页并点击。