douyin / open-api-php-sdk
抖音开放平台PHP SDK
1.5.0
2025-12-01 06:50 UTC
Requires
- php: >=7.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
- guzzlehttp/guzzle: Required for advanced HTTP features (^6.0|^7.0)
- illuminate/support: Required for Laravel integration (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)
This package is not auto-updated.
Last update: 2025-12-30 05:56:27 UTC
README
抖音开放平台PHP SDK,支持小程序、小游戏等服务端API调用。
功能特性
- 🎯 完整的抖音开放平台API支持
- 🔐 自动签名生成和验证
- 🧪 沙盒环境支持
- 📦 PSR-4自动加载支持
- 🛡️ 统一异常处理机制
- 📘 详细的文档和示例
- 🔄 统一的token管理机制
- 📦 模块化设计,降低耦合度
- ⚙️ 配置统一管理
- 🌐 单例模式HTTP客户端
- 🚀 动态模块加载,简化调用方式
- 📡 完整的API调用SDK,支持服务商平台API
环境要求
- PHP >= 7.0
- ext-curl
- ext-json
安装
使用 Composer 安装:
composer require douyin/open-api-php-sdk
或者在你的 composer.json 文件中添加:
{
"require": {
"douyin/open-api-php-sdk": "^1.0"
}
}
然后运行:
composer install
快速开始
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Douyin\OpenAPI\Douyin;
use Douyin\OpenAPI\Exceptions\DouyinException;
// 初始化客户端
$client = new Douyin('your_app_id', 'your_app_secret');
// 使用沙盒环境(可选)
// $client->setSandbox(true);
// 获取授权模块 - 新的优雅调用方式
$auth = $client->auth();
// 获取小程序模块
$miniProgram = $client->miniProgram();
// 示例:通过授权码获取access_token
try {
$result = $auth->getAccessToken('auth_code', 'redirect_uri');
print_r($result);
} catch (DouyinException $e) {
echo 'Error: ' . $e->getMessage();
}
Laravel 集成
本 SDK 提供了对 Laravel 框架的完整支持。
安装
composer require douyin/open-api-php-sdk
配置
- 发布配置文件:
php artisan vendor:publish --provider="Douyin\OpenAPI\LaravelServiceProvider"
- 在
.env文件中添加配置:
DOUYIN_APP_ID=your_app_id
DOUYIN_APP_SECRET=your_app_secret
DOUYIN_DOMAIN=https://open.douyin.com
DOUYIN_SANDBOX=false
使用
在控制器或服务类中使用:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Douyin\OpenAPI\Facades\Douyin;
class DouyinController extends Controller
{
public function getUserInfo()
{
try {
// 使用门面调用
$userModule = Douyin::userManagement();
// 获取用户信息
// $userInfo = $userModule->getUserInfo(['open_id' => 'user_open_id']);
return response()->json([
'success' => true,
'message' => '获取用户信息成功'
]);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => '获取用户信息失败: ' . $e->getMessage()
], 500);
}
}
}
你也可以通过依赖注入的方式使用:
<?php
namespace App\Services;
use Douyin\OpenAPI\Douyin;
class DouyinService
{
protected $douyin;
public function __construct(Douyin $douyin)
{
$this->douyin = $douyin;
}
public function getAccessToken($code, $redirectUri)
{
$auth = $this->douyin->auth();
return $auth->getAccessToken($code, $redirectUri);
}
}
API调用SDK
本SDK还提供了完整的API调用接口,涵盖了抖音开放平台服务商平台的主要功能模块:
API分类
- 授权管理
- 模板管理
- 开发管理
- 基础信息管理
- 登录管理
- 支付服务
详细使用方法请参考 API调用SDK说明
目录结构
src/
├── Api/ # API调用SDK
│ ├── Authorization/ # 授权管理API
│ ├── Template/ # 模板管理API
│ ├── Development/ # 开发管理API
│ ├── BasicInfo/ # 基础信息管理API
│ ├── Login/ # 登录管理API
│ ├── Payment/ # 支付服务API
│ ├── ApiClient.php # API调用基础类
│ ├── ApiFactory.php # API工厂类
│ └── README.md # API调用SDK说明
├── Base/ # 基础模块
├── Config/ # 配置文件
├── Exceptions/ # 异常处理
├── HttpClient/ # HTTP客户端
├── Support/ # 支持类库
├── Format/ # 格式化模块
└── *.php # 各种API模块
优化特性
1. 统一的Token管理
SDK现在使用统一的Token管理机制,避免了重复的token获取和缓存逻辑。
2. 基础模块类
所有模块类现在继承自BaseModule类,共享通用的HTTP请求处理逻辑。
3. 配置统一管理
所有配置常量现在统一在OpenApiConfig类中管理,便于维护和修改。
4. 单例模式HTTP客户端
HTTP客户端使用单例模式,避免了重复创建实例的资源浪费。
5. 降低模块间耦合
通过继承和依赖注入,模块间的耦合度大大降低,提高了代码的可维护性。
License
MIT License