# marketing-api-java-sdk **Repository Path**: mrxio/marketing-api-java-sdk ## Basic Information - **Project Name**: marketing-api-java-sdk - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-25 - **Last Updated**: 2024-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Marketing Java SDK ## 概述 腾讯广告 Marketing API(以下简称API) SDK 提供了Token获取、请求封装、响应解释等功能,以本地化方式轻松完成API的调用和结果的获取,旨在帮助开发者快速搭建投放管理系统。 未来还会基于常用的广告投放场景,提供场景化的接口组合及调用封装。 ## 使用条件 1. 使用SDK需要首先注册成为腾讯广告开发者,请参考[开发者快速入门文档](https://developers.e.qq.com/docs/start) 2. 使用SDK需要先拥有API的访问权限,所有SDK的使用与应用拥有的权限组相关联 3. Java SDK 需要依赖 JDK 1.7 及以上 4. Maven ## 代码托管 目前marketing-api-java-sdk的源码已经可以在github阅读,欢迎访问:[源码地址](https://github.com/TencentAd/marketing-api-java-sdk) ## 如何安装运行 - 我们推荐用Maven的方式管理我们的Java SDK,可以添加如下XML内容到您项目的pom.xml中 ```xml com.tencent.ads marketing-api-java-sdk 1.1.84 ``` - 或者您也可以手动下载[Java压缩包文件](https://github.com/TencentAd/marketing-api-java-sdk/archive/v1.1.84.zip),解压后可以得到一个Java SDK的源码项目。SDK下载地址:[ams-marketing-sdk-java.zip](https://github.com/TencentAd/marketing-api-java-sdk/archive/v1.1.84.zip) 1. 解压文件,默认解压到目录ams-marketing-sdk-java。 2. 执行mvn clean install,将包安装到你本地的Maven资源库中。 ```bash cd ams-marketing-sdk-java mvn clean install ``` 3. 在你的项目的pom.xml中添加刚刚安装的依赖 ```xml com.tencent.ads marketing-api-java-sdk 1.1.84 ``` ## 如何使用 SDK数组参数调用的方法名与API接口一一对应,如campaigns/get接口就对应TencentAds.getInstance().campaigns().campaignsGet()方法。 ### 获取Access Token > 注:本示例适用于授权时通过Authorization Code获取Access Token和Refresh Token。 ```java import com.tencent.ads.model.OauthTokenResponseData; public class Example { private static Long clientId = 0L; // 修改为你的clientId private static String clientSecret = ""; // 修改为你的clientSecret private static String grantType = "authorization_code"; private static String authorizationCode = "YOUR AUTHORIZATION CODE"; // 修改为你获取到的AUTHORIZATION CODE private static String redirectUri = "YOUR REDIRECT URI"; // 修改为你的回调地址 public static void main(String[] args) { TencentAds tencentAds = TencentAds.getInstance(); tencentAds.init(new ApiContextConfig()); try { OauthTokenResponseData responseData = tencentAds.oauth() .oauthToken(clientId, clientSecret, grantType, authorizationCode, null, redirectUri); if (responseData != null) { String accessToken = responseData.getAccessToken(); System.out.println(accessToken); tencentAds.setAccessToken(accessToken); } } catch (Exception e) { e.printStackTrace(); } } } ``` ### 设置调用环境、Access Token ```java TencentAds tencentAds = TencentAds.getInstance(); tencentAds.init(new ApiContextConfig("{access-token}", true)); tencentAds.useSandbox();// 默认访问沙箱环境,如访问正式环境,请调用tencentAds.useProduction(); ``` ### 调用API接口 ```java import com.tencent.ads.ApiContextConfig; import com.tencent.ads.TencentAds; import com.tencent.ads.exception.TencentAdsResponseException; import com.tencent.ads.exception.TencentAdsSDKException; import com.tencent.ads.model.CampaignsGetResponseData; import com.tencent.ads.model.FilteringStruct; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 本文件提供了一个获取推广计划(Campaign)列表的简单示例 **/ public class GetCampaigns { /** * YOUR ACCESS TOKEN */ public String ACCESS_TOKEN = "YOUR ACCESS TOKEN"; /** * YOUR ACCOUNT ID */ public Long ACCOUNT_ID = 0L; /** * TencentAds */ public TencentAds tencentAds; public void init() { this.tencentAds = TencentAds.getInstance(); this.tencentAds.init( new ApiContextConfig().accessToken(ACCESS_TOKEN).isDebug(true));// debug==true 会打印请求详细信息 this.tencentAds.useSandbox();// 默认使用沙箱环境,如果要请求线上,这里需要设为线上环境 } public CampaignsGetResponseData getCampaigns() throws Exception { Long accountId = ACCOUNT_ID; List filtering = new ArrayList<>(); Long page = null; Long pageSize = null; Boolean isDeleted = null; List fields = Arrays .asList("campaign_id", "campaign_name"); FilteringStruct filter = new FilteringStruct().field("promoted_object_type").operator("EQUALS") .values(Arrays.asList("PROMOTED_OBJECT_TYPE_APP_IOS")); filtering.add(filter); CampaignsGetResponseData responseData = tencentAds.campaigns() .campaignsGet(accountId, filtering, page, pageSize, isDeleted, fields); return responseData; } public static void main(String[] args) { try { GetCampaigns getCampaigns = new GetCampaigns(); getCampaigns.init(); CampaignsGetResponseData responseData = getCampaigns.getCampaigns(); } catch (TencentAdsResponseException e) { e.printStackTrace(); } catch (TencentAdsSDKException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 调试和查看API接口日志 ```java TencentAds tencentAds = TencentAds.getInstance(); tencentAds.init(new ApiContextConfig("{access-token}", true));//第二个参数即为调试参数 // 或者主动设置debug模式 tencentAds.setDebug(true); ``` ## 问题建议与反馈 如果您在使用SDK过程中有任何问题与建议,请随时登录[开发者官网](https://developers.e.qq.com/),点击右下角的"咨询"按钮,与我们的客服支持人员联系 ## 后续计划 1. 丰富各类场景示例 2. 推出其他语言的SDK