tiagoandre/tiktok-business-api-sdk

PHP版本的不官方TikTok商业API SDK:本包提供了一个简单且非官方的接口,用于与TikTok商业API集成。采用PHP开发,简化了与平台的连接,使开发者能够创建和管理营销活动,分析性能指标

0.0.2 2024-09-26 17:32 UTC

This package is auto-updated.

Last update: 2024-09-26 17:33:59 UTC


README

此PHP SDK允许轻松与TikTok商业API集成,简化OAuth认证和与API功能的交互。它遵循推荐的设计标准,并且是模块化的,便于扩展和维护。

功能

  • OAuth 2.0认证:进行认证并获得与TikTok API交互的访问令牌。
  • 简单的HTTP请求:使用结构化的RequestResponse类向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);
    }
}

贡献

如果您想为此项目做出贡献,请按照以下步骤操作

  1. Fork仓库。
  2. 创建一个新的分支:git checkout -b minha-feature
  3. 进行更改并commitgit commit -m '添加新功能'
  4. Push到分支:git push origin minha-feature
  5. 发送一个Pull Request

许可协议

本项目采用MIT许可协议