tagplus / sdk-api-php
该软件包最新版本(v0.1.1)没有可用的许可证信息。
PHP 客户端,用于消费 TagPlus ERP API。
v0.1.1
2018-03-01 13:19 UTC
Requires
- php: >=5.4
- guzzlehttp/guzzle: ^5
- kamermans/guzzle-oauth2-subscriber: ^1
Requires (Dev)
- phpunit/phpunit: ^4
This package is not auto-updated.
Last update: 2024-09-24 03:38:58 UTC
README
SDK 便于与我们的 ERP API 集成,特别是在身份验证阶段。
要求
- PHP >= 5.4
- Composer
准备
我们将通过 Composer 安装 SDK
composer require tagplus/sdk-api-php
如何使用
重要:为了继续操作,您已经需要注册 API 门户并拥有可用的 client_id
、client_secret
和 redirect_uri
。如果尚未注册,请访问 此处 并点击“注册”。
API 使用 OAuth2 进行身份验证,我们将展示如何使用 SDK 进行身份验证的示例。请查看我们的 API 文档 此处。
1. 用户授权
第一步是将用户重定向到 TagPlus,以便他们可以授权您的应用程序。通常是一个链接,位于网页的某个部分。
<?php // Mude o diretório de acordo com sua estrutura de pasta require_once __DIR__ . '/vendor/autoload.php'; use Tagplus\Client; $config = [ 'client_id' => 'xxx', 'client_secret' => 'yyy', 'scope' => [ 'read:financeiros' ] ]; $authUrl = Client::getAuthorizationUrl( $config['client_id'], $config['scope'] ); ?> <a href="<?=$authUrl?>">Conectar ao TagPlus</a>
点击链接后,用户可以授权(或不授权)您的应用程序访问请求的资源(作用域)。
2. 接收代码并恢复令牌
上一步结束后,用户将被重定向到在门户中注册的 URL(redirect_uri
)。
在这个返回页面(回调)中,您应该有以下代码片段
<?php // Mude o diretório de acordo com sua estrutura de pasta require_once __DIR__ . '/vendor/autoload.php'; use Tagplus\Client; use kamermans\OAuth2\Persistence\FileTokenPersistence; // Mude a localização da pasta conforme necessário $tokenPersistence = new FileTokenPersistence(__DIR__ . '/clienteA.txt'); $config = [ 'client_id' => 'xxx', 'client_secret' => 'yyy', 'scope' => [ 'read:financeiros' ] ]; Client::getAccessToken( $config, $tokenPersistence ); // Neste ponto você pode redirecionar o usuário para outra página
上述代码片段将恢复一个有效的 访问令牌 并将其保存到创建 FileTokenPersistence 类时传递的文件名中。
3. 访问 API
现在一切准备就绪,可以开始使用 API 了
<?php // Mude o diretório de acordo com sua estrutura de pasta require_once __DIR__ . '/vendor/autoload.php'; use Tagplus\Client; use kamermans\OAuth2\Persistence\FileTokenPersistence; $config = [ 'client_id' => 'xxx', 'client_secret' => 'yyy', 'scope' => [ 'read:financeiros' ] ]; // Mude a localização da pasta conforme necessário $tokenPersistence = new FileTokenPersistence(__DIR__ . '/clienteA.txt'); $api = new Client( $config, [], $tokenPersistence ); $response = $api->get('/me'); $me = json_decode($response->getBody()); // Imprimindo o nome do usuário que o token está vinculado echo 'Nome do usuário: ' $me->nome;
这只是一个如何使用 TagPlus ERP API 的示例。有关可用资源的更多详细信息,请访问我们的 参考。
下一步
- 解释如何在数据库中存储令牌(例如:MySQL);
- 解释如何与框架(例如:Laravel、CodeIgniter、Symfony 等)一起使用 SDK;
- 自动检索所有页面(如果有);
- 直接返回对象的实例,而无需调用 json_decode 函数;
- 为所有资源提供方法,而不是传递 URL 作为参数(例如:
$api->getClientes()
)。