Harvester

一个 Swift 接口,用于 Harvest 时间跟踪 API

Harvest API

请参阅 Harvest API V2 文档,了解 Harvest REST API 的结构。

使用 Harvester

集成

Harvester 作为 Swift 包分发。仓库 URL 是 https://github.com/tin-whistle/Harvester.git

身份验证

身份验证可以使用 OAuth 2 标准或个人访问令牌完成。对 Harvest API 的请求必须包含来自这些来源之一的访问令牌。 Harvester 示例项目使用个人访问令牌方案,但您可以选择使用 OAuth 库或编写您自己的实现。唯一的要求是您的实现必须符合 AuthorizationProvider 协议,该协议支持授权、取消授权并提供访问令牌。

OAuth

任何希望将 OAuth 与 Harvest API 结合使用的应用程序必须首先在 Harvest 上进行注册(需要一个 Harvest 帐户)。

  1. 登录后,选择 创建新的 OAuth2 应用程序
  2. 填写应用程序名称
  3. 填写重定向 URL
  4. 多帐户设置为我需要访问一个帐户
  5. 产品设置为我想要访问 Harvest
  6. 选择创建应用程序
  7. 将在此页面上生成的客户端 ID客户端密钥值与您的 OAuth 库或自定义实现一起使用。

个人访问令牌

可以在 Harvest 开发者网页上生成个人访问令牌。(需要一个 Harvest 帐户)。

  1. 登录后,选择 创建新的个人访问令牌
  2. 填写访问令牌名称
  3. 选择创建个人访问令牌
  4. 使用在此页面上生成的您的令牌值来授权所有对 Harvest API 的请求。 这仅适用于对您自己帐户的请求。

配置

HarvestAPI 是与 Harvester 库的主要联系点。 它使用包含以下属性的 HarvestAPIConfiguration 进行初始化

  1. appName - 您的应用程序的名称。 这作为用户代理字符串的一部分发送到 Harvest。 它用于识别请求来自哪个应用程序。
  2. contactEmail - Harvest 应用于联系您,提出问题或意见的电子邮件地址。 这作为用户代理字符串的一部分发送到 Harvest。
  3. authorizationProvider - 您的 AuthorizationProvider 实现(请参阅上面的身份验证部分)。