tiagoandre / tiktok-business-api-sdk
PHP版本的不官方TikTok商业API SDK:本包提供了一个简单且非官方的接口,用于与TikTok商业API集成。采用PHP开发,简化了与平台的连接,使开发者能够创建和管理营销活动,分析性能指标
0.0.2
2024-09-26 17:32 UTC
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.9.2
README
此PHP SDK允许轻松与TikTok商业API集成,简化OAuth认证和与API功能的交互。它遵循推荐的设计标准,并且是模块化的,便于扩展和维护。
功能
- OAuth 2.0认证:进行认证并获得与TikTok API交互的访问令牌。
- 简单的HTTP请求:使用结构化的
Request
和Response
类向TikTok API发送HTTP请求。 - 异常处理:使用自定义异常以健壮的方式处理API错误。
安装
首先,您需要使用Composer安装SDK
composer require tiagoandrepro/tiktok-business-api-sdk
基本用法
1. 配置OAuth认证
首先,配置TikTok应用程序的详细信息并实例化必要的类
require 'vendor/autoload.php'; use Tiagoandrepro\TiktokBusinessApiSdk\Http\Client; use Tiagoandrepro\TiktokBusinessApiSdk\Auth\OAuth; $httpClient = new Client(); // Valores dinâmicos $appId = 'SEU_APP_ID'; $clientSecret = 'SEU_APP_SECRET'; $redirectUrl = 'https://seu_dominio.com/callback'; // Instancia a classe OAuth com os valores dinâmicos $oauth = new OAuth($httpClient, $appId, $clientSecret, $redirectUrl); // Gera a URL de autorização dinamicamente $authorizationUrl = $oauth->getAuthorizationUrl('random_state_string');
2. 交换授权码为访问令牌
在重定向到redirectUri
之后,捕获授权码并将其交换为访问令牌
require 'vendor/autoload.php'; use Tiagoandrepro\TiktokBusinessApiSdk\Http\Client; use Tiagoandrepro\TiktokBusinessApiSdk\Auth\OAuth; $httpClient = new Client(); // Valores dinâmicos $appId = 'SEU_APP_ID'; $clientSecret = 'SEU_APP_SECRET'; $redirectUrl = 'https://seu_dominio.com/callback'; $oauth = new OAuth($httpClient, $appId, $clientSecret, $redirectUrl); // Receber o código de autorização que foi enviado pelo TikTok após a autenticação $code = $_GET['code'] ?? null; if ($code) { $accessTokenData = $oauth->getAccessToken($code); }
3. 向API发送请求以获取访问令牌
使用授权码可以交换为访问令牌
use Tiagoandrepro\TiktokBusinessApiSdk\Http\Request; use Tiagoandrepro\TiktokBusinessApiSdk\Http\Client; use Tiagoandrepro\TiktokBusinessApiSdk\Exceptions\HttpException; $httpClient = new Client(); public function getAccessToken(string $code): \Tiagoandrepro\TiktokBusinessApiSdk\Http\Response { try { $request = new Request('POST', 'oauth2/access_token', [], [ 'app_id' => $this->appId, 'secret' => $this->clientSecret, 'auth_code' => $code, 'grant_type' => 'authorization_code', ]); $response = $this->httpClient->request($request); if (isset($data['code']) && $data['code'] !== 0) { throw new HttpException("TikTok API Error: {$data['message']}"); } return $response; } catch (\Exception $e) { throw new HttpException("Failed to retrieve access token", $e->getCode(), $e); } }
贡献
如果您想为此项目做出贡献,请按照以下步骤操作
- Fork仓库。
- 创建一个新的分支:
git checkout -b minha-feature
。 - 进行更改并commit:
git commit -m '添加新功能'
。 - Push到分支:
git push origin minha-feature
。 - 发送一个Pull Request。
许可协议
本项目采用MIT许可协议。