Flutter TikTok API集成插件idn_tiktok_api的使用
Flutter TikTok API集成插件idn_tiktok_api
的使用
idn_tiktok_api
项目开发了开源的Flutter插件库,用于与Tiktok的API进行集成。该项目提供了更简便的方法来集成Tiktok,因为我们发现遵循Tiktok的文档和支持可能不会奏效。
特性
- 支持Android集成
- 支持iOS集成
要求
- Flutter版本 3.x.x
- Dart版本 3.x.x
- 需要一个web服务器来存储App Link(Android)配置文件
- 需要一个web服务器来存储Universal Link(iOS)配置文件
- 需要一个后端服务器来交换Tiktok的授权码(登录成功后)与Tiktok的访问令牌
开发状态
此项目仍在开发中。
示例
您可以在example
文件夹中查看如何使用此插件库的示例代码。
入门指南
- 在Tiktok开发者网站上创建一个应用。
- 添加
Login Kit
产品,并为Android配置Login Kit
。同时为iOS配置Login Kit
。如果您遇到重定向URI错误,可以尝试在Login Kit
的重定向URI末尾添加斜杠,如https://www.abc.com/login-callback/
。 - 为Android配置App Link(您可以使用
uni_links
包),并测试App Link是否正常工作。 - 为iOS配置Universal Link(您可以使用
uni_links
包),并测试Universal Link是否正常工作。 - 配置您的Tiktok应用的范围。您可以从
user.info.basic
开始。 - 提交您的应用并确保其状态为
Live in Production
。 - 安装此插件包
flutter pub add tiktok_api
。 - 调用
setup()
方法并传递您的Tiktok应用客户端密钥:_tiktokSDKApi.setup('<API_KEY>')
。 - 调用
login()
方法并传递作用域:_tiktokSDKApi.login(['user.info.basi'], 'https://www.abc.com/login-callback/', browserAuthEnabled)
。 - 一旦用户授权您的Tiktok应用,Tiktok Login Kit将通过App Link(Android)或Universal Link(iOS)重定向回您的应用。您需要处理App Link或Universal Link的重定向(如步骤3所示),并检索授权码。您必须使用该授权码换取访问令牌。一旦获得访问令牌,您可以使用它调用所有Tiktok的API。交换过程必须在后端进行。您可以遵循Tiktok的文档获取访问令牌此处。
代码示例
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:idn_tiktok_api/idn_tiktok_api.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _tiktokApiPlugin = TiktokApi();
[@override](/user/override)
void initState() {
super.initState();
/// 步骤1. 调用setup并传递客户端密钥(仅适用于Android)
_tiktokApiPlugin.setup('<YOUR_TIKTOK_APP_CLIENT_KEY>');
}
// 平台消息异步初始化
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('插件示例应用'),
),
body: Center(
child: TextButton(
child: const Text('登录到Tiktok'),
onPressed: () async {
/// 步骤2. 调用login并传递作用域和重定向URI
final result = await _tiktokApiPlugin.login(['user.info.basic'], '<YOUR_TIKTOK_APP_REDIRECT_URI>', true);
/// 步骤3. 存储codeVerifier,我们稍后需要它来获取访问令牌
final codeVerifier = result.codeVerifier!;
/// 步骤4. Tiktok将重定向到您的应用重定向URI,您可以从查询字符串中检索代码。
/// 您必须使用App Link或Universal Link以确保操作系统可以重定向到您的应用。
/// 下面是一个使用uni_link包的示例
/*
if(link.startsWith('<REDIRECT_URI>')){
final authCode = link.replaceAll("<REDIRECT_URI>?code=", "");
/// 一旦我们得到authCode,我们可以将其兑换为访问令牌
/// 了解更多详情:https://developers.tiktok.com/doc/oauth-user-access-token-management
}
*/
},
),
),
),
);
}
}
更多关于Flutter TikTok API集成插件idn_tiktok_api的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter TikTok API集成插件idn_tiktok_api的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
idn_tiktok_api
是一个用于在 Flutter 应用中集成 TikTok API 的插件。它允许开发者通过 TikTok 的 API 获取用户信息、视频数据等。以下是如何在 Flutter 项目中使用 idn_tiktok_api
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 idn_tiktok_api
插件的依赖。
dependencies:
flutter:
sdk: flutter
idn_tiktok_api: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来获取依赖。
2. 初始化 TikTok API
在你的 Dart 文件中导入 idn_tiktok_api
并初始化 TikTok API。
import 'package:idn_tiktok_api/idn_tiktok_api.dart';
void main() {
TikTokApi.initialize(
clientKey: 'YOUR_CLIENT_KEY',
clientSecret: 'YOUR_CLIENT_SECRET',
redirectUri: 'YOUR_REDIRECT_URI',
);
}
3. 用户授权
为了访问 TikTok 的用户数据,你需要引导用户进行授权。你可以使用 TikTokApi.login()
方法来启动授权流程。
void login() async {
try {
final authResult = await TikTokApi.login();
print('Access Token: ${authResult.accessToken}');
} catch (e) {
print('Error during login: $e');
}
}
4. 获取用户信息
一旦用户授权成功,你可以使用 TikTokApi.getUserInfo()
方法来获取用户的基本信息。
void getUserInfo() async {
try {
final userInfo = await TikTokApi.getUserInfo();
print('User Info: $userInfo');
} catch (e) {
print('Error fetching user info: $e');
}
}
5. 获取用户视频
你可以使用 TikTokApi.getUserVideos()
方法来获取用户发布的视频列表。
void getUserVideos() async {
try {
final videos = await TikTokApi.getUserVideos();
print('User Videos: $videos');
} catch (e) {
print('Error fetching user videos: $e');
}
}
6. 处理错误
在使用 TikTok API 时,可能会遇到各种错误。你可以使用 try-catch
块来捕获并处理这些错误。
void fetchData() async {
try {
final userInfo = await TikTokApi.getUserInfo();
print('User Info: $userInfo');
} catch (e) {
print('Error: $e');
}
}
7. 注销用户
你可以使用 TikTokApi.logout()
方法来注销当前用户。
void logout() async {
await TikTokApi.logout();
print('User logged out');
}
8. 处理回调
在 Android 和 iOS 上,你需要在 AndroidManifest.xml
和 Info.plist
中配置回调 URL,以确保授权流程能够正确完成。
Android:
在 AndroidManifest.xml
中添加以下内容:
<activity android:name="com.tiktok.sdk.TikTokEntryActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="YOUR_REDIRECT_URI_SCHEME" />
</intent-filter>
</activity>
iOS:
在 Info.plist
中添加以下内容:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>YOUR_REDIRECT_URI_SCHEME</string>
</array>
</dict>
</array>