概述

Harvbob客服端下载est V2 API是一个REST API允许您以编程方式与您的Harvest帐户交互。bob客服端下载您可以跟踪时间、记录费用、创建项目等等。

API请求

bob客服端下载Harvest要求应用程序验证所有请求OAuth2或个人访问令牌.支持以下HTTP方法:

  • 得到
  • 帖子
  • 补丁
  • 删除

当发出GET请求时,URL查询字符串中应该包含参数:

curl https://api.bob客服端下载harvestapp.com/v2/tasks?page=2&per_page=10 \ -H "授权:持有者$ACCESS_TOKEN" \ -H "收获帐户id: $ACCOUNT_ID" \ -H "用户代理:MyApp (yourname@example.com)"

当发出POST或PATCH请求时,参数应该包含在请求体中。请求参数可以格式化为JSON,也可以作为表单数据提交。当以JSON形式提交请求参数时,必须通过application / json内容类型头。

我们还要求每个请求都包含一个用户代理带有两者的标题:

  • 应用程序的名称
  • 链接到您的应用程序或电子邮件地址

如果你做错了什么(这样我们就可以在你被屏蔽之前警告你)或做了什么了不起的事情(这样我们就可以祝贺你),我们会使用这些信息与你取得联系。下面是一些可接受的例子用户代理标题:

  • 用户-代理:Trello (http://trello.com/contact)
  • 用户代理:John’s Harvestbob客服端下载 Integration (john@example.com)

如果你不包括用户代理头,你会得到一个400错误请求响应。

JSON

curl -X POST https://api.bob客服端下载harvestapp.com/v2/tasks \ -H "授权:持有者$ACCESS_TOKEN" \ -H "收获帐户id: $ACCOUNT_ID" \ -H "User-Agent: MyApp (yourname@example.com)"\ - h“application / json内容类型:\ - d”{\“\”:\“我的新任务\“}”

表单数据

curl -X POST https://api.bob客服端下载harvestapp.com/v2/tasks \ -H "授权:持有者$ACCESS_TOKEN" \ -H "收获帐户id: $ACCOUNT_ID" \ -H "User-Agent: MyApp (yourname@example.com)"\ -d name="我的新任务"

API的反应

bob客服端下载Harvest以JSON格式格式化响应体,并使用HTTP响应代码来指示API请求的成功或失败。以下是您在使用API时可能遇到的HTTP状态码,并简要说明了它们发生的时间。

代码 解释
200 你的请求成功了。
201 完成新对象的创建。它的表示形式将在响应体中返回。
403 您请求的对象已找到,但您没有执行请求的授权。
404 您请求的对象找不到。
422 处理您的请求时发生错误。查看响应体以获得更多信息。
429 你的请求被限制了。请参阅速度限制部分的详细信息。
500 服务器出错了。请联系support@getharvebob客服端下载st.com寻求帮助。

速度限制

我们有一个API节流阻止超过API速率限制的账户。我们保留调整限制的权利,但它们总是设置得足够高,以允许运行良好的交互程序完成其工作。

  • 一般API请求的速率限制为每15秒100个请求
  • 的速率限制报告API请求每15分钟100个请求

对于仍然需要完善代码的批处理和API开发人员来说,这个节流可能是一个无意的阻碍。稍等片刻,再试一次。由于每次调用都会重置节流阀,因此节流阀将在几分钟内自行抬起,API调用可能会恢复。

当超过速率限制时,Harvest将发送一个HTTP 429状态码bob客服端下载。中指定的,通过Retry-After HTTP报头发送油门解除之前的秒数RFC 2616

请记得仔细编写应用程序,尽可能进行缓存。在滥用的情况下,你可能会被阻止,不允许进一步的API访问。

约定

当您遇到一个被花括号包围的值时,您应该将其替换为适合您上下文的值。例如,如果Harvest项目的ID是bob客服端下载1234文档提供了以下URL:

https://api.bob客服端下载harvestapp.com/v2/projects/ {PROJECT_ID}

你可以替换{PROJECT_ID}使用实际的项目ID,如下所示:

https://api.bob客服端下载harvestapp.com/v2/projects/1234

我们还在示例请求中使用了shell变量(例如。ACCESS_TOKEN美元).如果你的操作系统支持shell变量,你可以这样设置shell变量:

ACCESS_TOKEN="my-access-token" ACCOUNT_ID="my-account-id" USER_AGENT="MyApp (yourname@example.com)"

然后,您可以通过在它们前面加上a来引用它们

curl -X POST https://api.bob客服端下载harvestapp.com/v2/company \ -H "Authorization: holder $ACCESS_TOKEN" \ -H " collect - account - id: $ACCOUNT_ID" \ -H "User-Agent: $USER_AGENT"

这应该允许您复制/粘贴大多数示例请求,而不需要更改id以外的任何内容。

数据类型

类型 例子 描述
布尔 真正的 要么真正的
字符串 “foo” 双引号字符序列。
整数 42 非负整数值。
小数 6.8 一个十进制值。支持的精度与字段有关。
日期 “2017-12-31” 仅包含日期部分的ISO 8601格式字符串。
datetime “2017 - 12 - 31 t14:59:22z” ISO 8601格式的字符串,包含UTC日期和时间。
时间 “14:59”
“2:59pm”
包含12小时或24小时时间的字符串,具体取决于为您的帐户配置的时间格式。你可以在设置页面的Harvest帐户或bob客服端下载时钟属性的公司的API
数组 [1,2,3 . JSON数组。
对象 {name: "value"} JSON对象。

还有问题吗?我们很乐意帮忙!

联系我们
Baidu
map