API V1到API V2迁移指南
bob客服端下载此后,Harvest API V1就不受支持了2019年1月1日,并会很快移除。
为了将您的集成从API V1迁移到API V2,您将需要引入一些更改,以支持API V2的预期请求和响应格式文档.
本指南介绍了将集成的身份验证流从API V1迁移到API V2的路径,以及向API V2发出请求时的一些附加要求。
从API V1迁移到API V2认证
使用基本身份验证迁移集成
API V2不支持基本身份验证,因为目前有更安全的替代方案可用。要将集成迁移到API V2,可以用个人访问令牌替换基本身份验证。
中创建个人访问令牌开发人员部分,并在bob客服端下载授权:持票人
头。
API V2文档描述如何使用个人访问令牌.
使用OAuth2隐式授权流迁移集成
API V2也支持标准的OAuth2隐式授权流,如详见API V2文档.
与API V1中的OAuth2隐式授权流相比,您需要在集成中引入一些更改:
- 的集成需要创建一个OAuth2应用程序开发人员部分的Harvest bob客服端下载ID。
- 对于API V2, OAuth2隐式授权流的主机为
id.getbob客服端下载harvest.com
,而APIv1中OAuth2流的主机为api.bob客服端下载harvestapp.com
. - 通过API V1获得的访问令牌在API V2中无效。当您在集成中切换到使用API V2时,您的用户将需要通过API V2的授权流程重新对集成进行授权。
使用OAuth2授权代码流迁移集成
API V2也支持标准的OAuth2授权码流,如详见API V2文档.
与API V1中的OAuth2授权代码流相比,您需要在集成中引入一些更改:
- 的集成需要创建一个OAuth2应用程序开发人员部分的Harvest bob客服端下载ID。
- 对于API V2, OAuth2授权码流的主机为
id.getbob客服端下载harvest.com
,而APIv1中OAuth2流的主机为api.bob客服端下载harvestapp.com
. - 对于API V2, OAuth2令牌端点的主机为
id.getbob客服端下载harvest.com
. - 通过API V1获得的访问令牌和刷新令牌在API V2中无效。当您在集成中切换到使用API V2时,您的用户将需要通过API V2的授权流程重新对集成进行授权。
API V1到API V2 OAuth2令牌迁移端点
如果您维护与使用OAuth2授权码流的API V1的集成,则可以使用令牌迁移端点将代表用户持有的每个有效API V1刷新令牌交换为API V2访问令牌/刷新令牌对。
令牌迁移端点的目标是,第三方集成的维护者可以在切换到API V2之前获得有效的OAuth2访问/刷新令牌对。当集成切换到API V2时,它将能够使用通过迁移端点获得的访问和刷新令牌,并避免集成用户的服务中断——您的用户将不需要经过API V2 OAuth2授权流程。
作为集成的维护者,要将API V1令牌交换为API V2令牌,您需要:
- 为希望迁移令牌的每个用户提供有效的API V1刷新令牌。
- 客户ID和你的秘密API V1的OAuth2应用程序.
- 的客户端ID和秘密您将用于API V2的OAuth2应用程序.
- 您自己的User-Agent字符串,因此我们可以使用它来帮助您调试任何问题。
要迁移单个API V1刷新令牌,请向https://id.getbob客服端下载harvest.com/api/v2/oauth2/migrate
,并输入以下参数:
参数 | 描述 |
---|---|
v1_refresh_token |
代表集成用户持有的有效API V1刷新令牌 |
v1_client_id |
API V1 OAuth2应用的client_id |
v1_client_secret |
API V1 OAuth2应用的client_secret |
v2_client_id |
API V2 OAuth2应用的client_id |
v2_client_secret |
API V2 OAuth2应用程序的client_secret |
示例请求
curl - x发布https://id.getharbob客服端下载vest.com/api/v2/oauth2/migrate \ - h“用户代理:user@example.com牌迁移脚本\ - h“application / json内容类型:\ - h”接受:application / json \ - d '{“v1_refresh_token”:“rmf1R2wjemHQQwlmlkfpccTXxBV8CAEt2rm6hogaS26txQw3P6dqwNoYGsg47poTnTI_WmKcfI7stCsrbqUTTA”、“v1_client_id”:“TPs7xbUXjmR8TTfPdUnDEQ”、“v1_client_secret”:“73 h0ym6hhi6qro_rxcujz4-cnvapdgwcaeflsut9eze79zostpzrqbb45asz0zvhxl0lxmc4xjun86u3z77o8q”、“v2_client_id”:"rwJrBf5ngu0vP9r6HgsnNLU2", "v2_client_secret": "l35kDpP5PLGp5JlZ3SCtUiKBPxTj3O1EZ_dNJ_igN_vQBpuXQ_X_VvcD6XAk6kw0MJ-KXp3yaGFgMRfd6bmVwQ"}'
每个成功的令牌迁移请求都将返回一个访问令牌和一个刷新令牌,可以在API V2中代表拥有所迁移的API V1刷新令牌的用户使用它们。在对API V1的请求进行身份验证时,也接受API V2访问令牌。
您将需要使用令牌迁移端点来迁移您的集成代表您的用户持有的每个API V1刷新令牌。
您还可以选择不迁移API V1令牌——在这种情况下,当您的集成开始使用API V2时,您的集成的每个用户都需要经过API V2 OAuth2授权流程。
使用XML请求迁移集成
API V2不支持XML请求有效负载和XML响应。您将需要将您的集成更改为使用JSON,以及处理来自API V2的JSON响应。
要求标题
发送到API V2的请求必须包含以下头:
用户代理
:该值可以设置为任何正确的User-Agent字符串确定您的集成.它不能是空的。bob客服端下载Harvest-Account-Id
:必须设置为Harvest帐户的有效ID。bob客服端下载如果您正在使用个人访问令牌,您可以通过单击您的个人令牌在bob客服端下载开发人员部分的Harvest bob客服端下载ID。如果集成使用OAuth2访问令牌,则可以获得访问令牌可以通过账户端点.
分页
API V2支持分页在所有的端点上。默认页面大小为100条记录。的端点报告API默认页面大小为1000条记录。
不支持的API V1库
我们为API V1推荐的这些库似乎不支持API V2。我们建议与这些图书馆的所有者联系以获得进一步的信息:
- Ruby:bob客服端下载收获,扎克·莫泽尼著。
- Python:bob客服端下载收获时间跟踪API客户端bob手机下载,由Lionheart Software开发。
- Java:bob客服端下载收获时间跟踪控制台客户端,毛里西奥·奥弗曼著。
- Java:bob客服端下载获取Java包装器,达格·马丁·米克尔森著。
- PHP:PHP收获APIbob客服端下载,马修·丹顿著。
- Drupal:bob客服端下载Drupal的收获模块ImageX Media出版。
- net:bob客服端下载收成。网,乔尔·波特著。
- 迅速:bob客服端下载HarvestKit,马特·奇瑟姆著。
- 榆树:bob客服端下载harvest-api由comSysto编写。
- PHPbob客服端下载harvest-api最好是这样。