tencent-ad / marketing-api-php-sdk
Tencent Ad PHP SDK
Installs: 43 328
Dependents: 2
Suggesters: 0
Security: 0
Stars: 26
Watchers: 5
Forks: 7
Open Issues: 9
Requires
- php: >=5.5
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.2 || ^7.0
- monolog/monolog: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- guzzlehttp/guzzle: ^6.2 || ^7.0
- mockery/mockery: ^1.2.3
- pds/skeleton: ^1.0
- phpunit/php-timer: ^1.0
- phpunit/phpunit: ^4.8 || ~5.1.0
- dev-master
- v1.1.82
- v1.1.81
- v1.1.80
- v1.1.79
- v1.1.78
- v1.1.76
- v1.1.75
- v1.1.74
- v1.1.73
- v1.1.72
- v1.1.71
- v1.1.70
- v1.1.69
- v1.1.68
- v1.1.67
- v1.1.66
- v1.1.65
- v1.1.64
- v1.1.63
- v1.1.62
- v1.1.61
- v1.1.60
- v1.1.59
- v1.1.58
- v1.1.57
- v1.1.56
- v1.1.55
- v1.1.54
- v1.1.53
- v1.1.52
- v1.1.51
- v1.1.50
- v1.1.49
- v1.1.48
- v1.1.46
- v1.1.45
- v1.1.44
- v1.1.43
- v1.1.42
- v1.1.41
- v1.1.40
- v1.1.39
- v1.1.38
- v1.1.37
- v1.1.36
- v1.1.35
- v1.1.34
- v1.1.33
- v1.1.32
- v1.1.31
- v1.1.30
- v1.1.29
- v1.1.28
- v1.1.27
- v1.1.26
- v1.1.25
- v1.1.24
- v1.1.23
- v1.1.22
- v1.1.21
- v1.1.20
- v1.1.19
- v1.1.18
- v1.1.17
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.13
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
This package is auto-updated.
Last update: 2025-03-27 08:26:56 UTC
README
概述
腾讯广告 Marketing API(以下简称API) SDK 提供了Token获取、请求封装、响应解释等功能,以本地化方式轻松完成API的调用和结果的获取,旨在帮助开发者快速搭建投放管理系统。 未来还会基于常用的广告投放场景,提供场景化的接口组合及调用封装。
使用条件
- 使用SDK需要首先注册成为腾讯广告开发者,请参考开发者快速入门文档
- 使用SDK需要先拥有API的访问权限,所有SDK的使用与应用拥有的权限组相关联
- PHP SDK 需要依赖 PHP 5.5 及以上
如何安装
- 修改composer.json文件,添加如下内容
{ "require": { "tencent-ad/marketing-api-php-sdk" : "*" } }
- 执行如下命令安装
composer install --no-dev
如何使用
SDK同时支持数组参数和语义化调用,推荐使用数组参数,方便后续升级扩展。本说明文档都使用数组参数调用的形式。/docs目录下的文档使用了语义化调用的方式。 SDK数组参数调用的方法名与API接口一一对应,如campaigns/get接口就对应$tads->campaigns()->get()方法
获取Access Token
注:本示例适用于授权时通过Authorization Code获取Access Token和Refresh Token,如需更新Access Token请参考 ./examples/refresh_token.php 示例
<?php require_once __DIR__ . '/vendor/autoload.php'; // vendor 目录中的 autoload 文件 use TencentAds\TencentAds; $tads = TencentAds::init([]); $token = $tads->oauth() ->token([ // oauth/token接口即对应oauth()->token()方法 'client_id' => '{your client id}', 'client_secret' => '{your client secret}', 'grant_type' => 'authorization_code', 'authorization_code' => '{your authorization code}', 'redirect_uri' => '{your redirect uri}', ]); echo "<pre>" . PHP_EOL; print_r($token); echo "</pre>" . PHP_EOL; $tads->setAccessToken($token->getAccessToken());
设置调用环境、Access Token
<?php require_once __DIR__ . '/vendor/autoload.php'; use TencentAds\TencentAds; $tads = TencentAds::init([ 'access_token' => '{access-token}', ])->useSandbox(); // 默认访问沙箱环境,如访问正式环境,请调用$tads->useProduction()
调用API接口
<?php require_once __DIR__ . '/vendor/autoload.php'; use TencentAds\TencentAds; use TencentAds\Exception\TencentAdsResponseException; use TencentAds\Exception\TencentAdsSDKException; $tads = TencentAds::init([ 'access_token' => '{your access token}', ]); try { $filtering = [ [ 'field' => 'promoted_object_type', 'operator' => 'EQUALS', 'values' => ['PROMOTED_OBJECT_TYPE_APP_IOS'], ], ]; $response = $tads ->campaigns() ->get([ // campaigns/get接口即对应campaigns()->get()方法 'account_id' => '{your account id}', 'filtering' => $filtering, ]); echo "<pre>" . PHP_EOL; print_r($response); echo "</pre>" . PHP_EOL; } catch (TencentAdsResponseException $e) { // When Api returns an error echo 'Tencent ads returned an error: ' . $e->getMessage(); exit; } catch (TencentAdsSDKException $e) { // When validation fails or other local issues echo 'Tencent ads SDK returned an error: ' . $e->getMessage(); exit; }
调试和查看API接口日志
<?php require_once __DIR__ . '/vendor/autoload.php'; use TencentAds\TencentAds; $tads = TencentAds::init([ 'access_token' => '{access-token}', 'is_debug' => true, 'debug_file' => '{your log path}', // 不指定,输出到 php://output ]);
关闭SDK上报
目前SDK上报信息为您的服务器版本和PHP版本信息,为了帮助您更好地定位使用上的问题,建议开启上报,如需关闭请参考如下配置。
<?php require_once __DIR__ . '/vendor/autoload.php'; use TencentAds\TencentAds; $tads = TencentAds::init([ 'access_token' => '{access-token}', 'is_monitor' => false, ]);
设置返回数组
<?php require_once __DIR__ . '/vendor/autoload.php'; use TencentAds\TencentAds; use TencentAds\Kernel\SerializerHandler; $tads = TencentAds::init([ 'access_token' => '{access-token}', 'is_monitor' => false, ]); $tads->setSerializerType(SerializerHandler::SERIALIZER_TYPE_ARRAY);
问题建议与反馈
如果您在使用SDK过程中有任何问题与建议,请随时登录开发者官网,点击右下角的"咨询"按钮,与我们的客服支持人员联系
后续计划
- 丰富各类场景示例
- 推出其他语言的SDK