小游戏 OpenAPI SDK 总览收藏我的收藏
收藏
我的收藏为了帮助开发者更加便捷地使用抖音开放能力,简化在接入抖音开放平台时的操作步骤,开放平台提供了统一的服务端 OpenAPI SDK。开发者可使用OpenAPI SDK,快捷地接入抖音开放平台提供的服务端接口,提升开发效率。需要注意的是SDK中的Token参数需要用户自己注入。当前OpenAPI SDK支持三种编程语言:
- •Java
- •NodeJS
- •Go
Java接入
包引入
在pom.xml文件添加仓库和依赖
<repository> <id>douyin-openapi-repo</id> <url>https://artifacts-cn-beijing.volces.com/repository/douyin-openapi/</url> </repository>
<dependency> <groupId>com.douyin.openapi</groupId> <artifactId>sdk</artifactId> <version>1.0.0</version> </dependency>
代码示例
import com.aliyun.tea.TeaException; import com.douyin.openapi.client.Client; import com.douyin.openapi.client.models.*; import com.douyin.openapi.credential.models.Config; public class Main { public static void main(String[] args) { try { Config config = new Config().setClientKey("test_app_id").setClientSecret("test_app_secret"); Client client = new Client(config); CouponQueryCouponMetaRequest sdkRequest = new CouponQueryCouponMetaRequest() .setCouponMetaId("test_id") .setBizType(new Integer(1)) .setAccessToken("test_access_token"); CouponQueryCouponMetaResponse sdkResponse = client.CouponQueryCouponMeta(sdkRequest); System.out.println(sdkResponse); } catch (TeaException e) { System.out.println(e.getMessage()); } catch (Exception e) { System.out.println(e.getMessage()); } } }
Go接入
包引入
go get github.com/bytedance/douyin-openapi-sdk-go
代码示例
import ( "fmt" "testing" credential "github.com/bytedance/douyin-openapi-credential-go/client" openApiSdkClient "github.com/bytedance/douyin-openapi-sdk-go/client" ) func TestCouponQueryCouponMeta(t *testing.T) { // 初始化SDK client opt := new(credential.Config). SetClientKey("test_app_id"). SetClientSecret("test_app_secret") sdkClient, err := openApiSdkClient.NewClient(opt) if err != nil { t.Fatal(fmt.Sprintln("sdk init err:", err)) } // 构建请求参数 couponMetaId := "7373678331264630820" bizType := 1 sdkRequest := &openApiSdkClient.CouponQueryCouponMetaRequest{ CouponMetaId: &couponMetaId, BizType: &bizType, } // token获取与注入 // credential包提供了默认的token获取方法,但是该实现方式是基于单实例的,如果用户多实例场景使用会出现token互刷的问题。 // 开发者如果有多实例部署的需求可以自行实现token获取的逻辑 credentialHandler, err := credential.NewCredential(opt) if err != nil { t.Fatal(fmt.Sprintln("credential init err:", err)) } token, err := credentialHandler.GetClientToken() if err != nil { t.Fatal(fmt.Sprintln("token get err:", err)) } sdkRequest.AccessToken = token.AccessToken // sdk调用 sdkResponse, err := sdkClient.CouponQueryCouponMeta(sdkRequest) if err != nil { t.Fatal(fmt.Sprintln("sdk call err:", err)) } t.Log(sdkResponse) }
NodeJS接入
包引入
运行以下命令:
npm add @open-dy/open_api_sdk npm add @open-dy/open_api_credential
代码示例
import Client, { MessageGetUserMessageRequest } from '@open-dy/open_api_sdk'; import CredentialClient from '@open-dy/open_api_credential'; interface ClientTokenResponse { data?: { access_token?: string, description?: string, error_code?: number, expires_in?: number } } // 传入 clientKey 和 clientSecret 获取 token const credentialClient = new CredentialClient({clientKey: 'xxx', clientSecret: 'xxx'}); const { accessToken } = await credentialClient.getClientToken(); // 传入 clientKey 和 clientSecret const client = new Client({ clientKey: 'xxx', clientSecret: 'xxx' }); // 拼接请求入参 const params = new MessageGetUserMessageRequest({accessToken:accessToken, startTime:xxx, endTime: xxx, type: xxx, username: xxx, pageNum: xxx, pageSize: xxx }); // 调用方法发起请求 const messageRes = await client.messageGetUserMessage(params); console.log('messageRes', messageRes);