techsemicolon/hubstaff

用于与 Hubstaff API 集成的包

0.0.1 2017-09-07 10:38 UTC

This package is auto-updated.

Last update: 2024-09-14 08:17:57 UTC


README

这是一个 PHP 包,它集成了 Hubstaff API,并为您提供了将 Hubstaff 数据/报告添加到项目的有效方法。在此包中,针对优化方面有许多改进,将在适用时进行讨论。

安装

通过 Composer

$ composer require techsemicolon/hubstaff

获取您的 API 凭证

您将需要以下 3 个凭证来开始使用 Hubstaff API 集成

  1. 电子邮件:您登录 Hubstaff 所使用的电子邮件地址

  2. 密码:您登录 Hubstaff 所使用的安全密码

  3. 应用令牌:这是一个 API 密钥,您可以通过以下步骤获取

    • 访问 https://developer.hubstaff.com/
    • 使用上述电子邮件和密码登录
    • 转到左侧菜单上的“我的应用”(URL:https://developer.hubstaff.com/my_apps
    • 点击“创建应用”按钮
    • 输入您的应用程序名称
    • 如果您有多个组织,请从下拉菜单中选择组织
    • 点击“保存”,您将获得一个应用令牌,它是一个长数字字母字符串
    • 请妥善保管,最好将其存储在您的 env(环境文件)中,而不是实际的应用程序中

从 API 获取数据

要查看 Hubstaff API 参考,您可以访问他们的官方文档 URL https://api.hubstaff.com/v1/

它是如何内部工作的

  1. Hubstaff 会要求输入电子邮件和密码以获取身份验证令牌。身份验证令牌与您的应用令牌不同。应用令牌类似于 API 密钥,而身份验证令牌是一个安全的身份验证机制,以确保发送给 API 的请求得到良好的身份验证。
  2. 然后我们将在头部同时使用身份验证令牌和应用令牌来获取我们想要的数据

不用担心:上述所有内容都由包内部处理,所以您无需额外开销;)

身份验证令牌的过期

显然,Hubstaff 的身份验证令牌没有过期时间。因此,一旦您获得身份验证令牌,您可以在应用程序中永远使用它。

在每次请求中获取身份验证令牌

我建议您使用 https://developer.hubstaff.com/docs/api#!/auth/postV1Auth 获取身份验证令牌并将其保存到您的 env 文件中,以便在应用程序中使用。此包具有灵活性,可以在 authenticate() 方法中将身份验证令牌作为 $authToken 的参数动态获取。然而,如果身份验证令牌没有过期时间,那么一次性获取并保存它以重复使用,而不是频繁调用身份验证令牌 API,更有意义。此外,他们的服务器将抛出错误 429,这意味着针对特定 API 端点的请求过多。因此,获取身份验证令牌并将其保存在您的 env 中,就像您可能保存您的应用令牌一样,会更好。

要使用方法获取任何数据,您可以使用以下示例

require_once('vendor/autoload.php');

use Hubstaff\Hubstaff;
//Get instance of Hubstaff

$hubstaff = Hubstaff::getInstance();

// Authenticate hubstaff with credentials you have
$appToken = 'your_app_token';
$email = 'your_hubstaff_email';
$password = 'your_hubstaff_password';
$authToken = 'your_auth_token';

$hubstaff->authenticate($appToken, $email, $password, $authToken);

//Get Repository you want and call the method on the same
$users = $hubstaff->getRepository('user')->getAllUsers();

注意:我们已使用单例模式内部,以确保一旦认证,它将在任何地方使用相同的实例,以优化和效率为目的。

以下表格提供了可用方法的详细描述