flowtok / tiktok-api
PHP的不官方TikTok API
README
PHP的不官方TikTok API
通过Composer安装
composer require ssovit/tiktok-api
尝试我的Telegram机器人
尝试我的Telegram机器人 获取任何TikTok视频的无水印版本
想要支持吗?
BTC: 1KA78sxnqEYPdni4txdieGJzVkH8AEn9dy ETH: 0x85110345abc62327d3c4cf657b7aabf8628d373c
寻找无水印视频API?
它提供每月订阅服务。下面有计划和联系详情。
用法
参考/example
目录中的示例
$api=new \Sovit\TikTok\Api(array(/* config array*/)); $trendingFeed=$api->getTrendingFeed($maxCursor=0); $userData=$api->getUser("tiktok"); $userFeed=$api->getUserFeed("tiktok",$maxCursor=0); $challenge=$api->getChallenge("foryourpage"); $challengeFeed=$api->getChallengeFeed("foryourpage",$maxCursor=0); $musc=$api->getMusic("6798898508385585925"); $musicFeed=$api->getMusicFeed("6798898508385585925",$maxCursor=0); $videoData=$api->getVideoByID("6829540826570296577"); $videoData=$api->getVideoByUrl("https://www.tiktok.com/@zachking/video/6829303572832750853"); $noWatermark=$api->getNoWatermark("https://www.tiktok.com/@zachking/video/6829303572832750853");
可用选项
$api=new \Sovit\TikTok\Api(array( "user-agent" => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36', // Valid desktop browser HTTP User Agent "proxy-host" => false, "proxy-port" => false, "proxy-username" => false, "proxy-password" => false, "cache-timeout" => 3600 // 1 hours cache timeout "cookie_file" => sys_get_temp_dir() . 'tiktok.txt', // cookie file path "nwm_endpoint" => "https://my-api.example.com" // private api endpoint "api_key" => "API_KEY" // see below on how to get API key ), $cache_engine=false);
缓存引擎
您可以构建自己的引擎,该引擎将存储和从本地存储中检索缓存,以避免频繁请求TikTok服务器。这可以帮助避免因频繁请求而被TikTok服务器封禁。
缓存引擎应具有API类使用的可调用的get
和set
方法
// Example using WordPress transient as cache engine Class MyCacheEngine{ function get($cache_key){ return get_transient($cache_key); } function set($cache_key,$data,$timeout=3600){ return set_transient($cache_key,$data,$timeout); } }
用法
$cache_engine=new MyCacheEngine(); $api=new \Sovit\TikTok\Api(array(/* config array*/),$cache_engine);
流和下载视频
参考/example
文件夹中的视频流和下载示例 注意:TikTok视频在HTML视频播放器中无法直接播放,因为它们需要www.tiktok.com
作为http引用。
代理支持
要使用代理,提供proxy-host
、proxy-port
、proxy-username
、proxy-password
建议您使用代理以防止您的IP被封禁。
如果您在短时间内进行大量请求,强烈建议使用旋转
代理服务。 Webshare.io代理服务 是一个好的选择。 这是我的推荐链接,我从中获得一些收益
可用方法
getTrendingFeed
- 获取趋势动态getTrendingFeed($maxCursor)
getUser
- 获取TikTok用户的个人资料数据getUser($username)
getUserFeed
- 通过ID获取用户动态getUserFeed($user_id,$maxCursor)
getUserFeedByName
- 通过名称获取用户动态getUserFeedByName($username,$maxCursor)
getChallenge
- 获取挑战/标签信息getChallenge($challenge)
getChallengeFeed
- 通过ID获取挑战动态getChallengeFeed($challenge_id, $maxCursor)
getChallengeFeedByName
- 通过名称获取挑战动态getChallengeFeedByName($challenge,$maxCursor)
getMusic
- 获取音乐信息getMusic($music_id)
getMusicFeed
- 获取音乐动态getMusicFeed($music_id,$maxCursor)
getVideoByID
- 通过ID获取视频getVideoByID($video_id)
getVideoByUrl
- 通过URL获取视频getVideoByUrl($video_url)
getNoWatermark
- 通过URL获取无水印视频getNoWatermark($video_url)
(仅适用于2020年7月28日之前的视频)。私有API服务器提供订阅服务,适用于所有TikTok帖子
$maxCursor
默认为 0
,是结果页面的偏移量。下一页的maxCursor
在当前页面上暴露于调用动态数据。
待办事项
- 拯救宇宙
- SOCKS代理支持
- 多代理支持(轮询。充当旋转代理)
新视频的无水印视频URL
2020年7月24-28日后发布的带有水印的视频中,TikTok视频没有视频ID作为元数据。以下是非水印视频API的订阅计划。
私有API服务器订阅定价
在寻找API源代码吗?
TikTok移动应用API的源代码可供获取。
可用变体
- PHP (无外部依赖的独立版本)
- NodeJs (无外部依赖的独立版本)
联系方式
- Telegram https://t.me/ssovit
- WhatsApp https://wa.link/odwv3x
- Discord https://discord.gg/rSQd2QAXA8
- Email sovit.tamrakar@gmail.com
结果为空?
使用代理。您在短时间内对API进行了过多的请求。推荐使用旋转代理。
想要改进这个库?想要贡献力量?
请毫不犹豫地创建拉取请求。
免责声明
TikTok总是在更新他们的API端点,但我会尽可能地保持这个库。如果您或您的IP使用此API被禁用,我概不负责。建议您使用代理。