首页 > 其他分享 >SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据

时间:2023-01-31 18:32:31浏览次数:59  
标签:粉丝 SpringBoot 用户 接口 开放平台 抖音 video

大家好,我是小悟

​抖音开放平台刚面世不久,资料比较少。即使对于一个开发人员来说,接入第三方接口都大同小异,不会太难,但我还是想把这些记录下来,特别是遇到的坑,会列在下面,一起参考学习。限于水平有限,若有错误,不吝赐教哈。那么,我们就开始正文吧。

1、注册账号

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台

​无独有偶,和其他第三方平台一样,进入开放平台注册账号后登录,平台会审核提交的信息,审核过了再创建应用(如果审核不过,是不让你创建应用的)。


2、创建应用

我们获取数据一般是用来做PC网站的,所以选择网站应用来创建,如实填写信息,等待审核。这里吐槽一下,和微信相比,抖音不管是小程序还是开放平台,审核的速度很慢,虽然在提交完信息后平台一般会提示三个工作日内审核,但是你可能还是要发邮件过去催。这里给大家看一下审核通过后的应用。

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台_02

点击详情进入,看到如下内容,我们有了平台颁发的Client Key和Client Secret就可以开始撸代码了。

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_短视频数据_03


3、实现思路

也没什么特别的思路啦,就是引导用户扫描我们接入的二维码,用户在抖音APP端扫码确认或账号密码授权登录后,会重定向到我们的回调接口,并且附带授权临时票据(code),我们拿着code,以及ClientKey和ClientSecret等参数,通过API换取access_token,然后就可以通过access_token进行接口调用,获取用户基本信息及其他操作等。大致的流程就是这样子,接下来我们就来看一下实现的一些细节。


4、开发细节

1.1、选择资源中心 -> Open Api -> 账号授权及绑定 查看接口文档,

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台_04

1.2、用户扫码授权,回调我们的接口,拿到code,再调用获取access_token的接口,也可以拿到用户对应的open_id,因为access_token是有时效性的,所以我们要做缓存,要在过期前先用refresh_token刷新延长access_token的有效期,又过期后只能让用户重新授权。

1.3、根据access_token和open_id就可以获取到该用户的基本信息和粉丝统计数据,用户信息接口没有返回该用户的粉丝数,倒是在粉丝统计数据接口那边返回来粉丝数,可以在这边拿到粉丝数存到用户表,结合前端开发,把数据传给前端就可以显示出来了。这边叫了一个漂亮的小姐姐授权了,下面有短视频截图,你们就说好不好看吧。

用户基本信息

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_短视频数据_05

粉丝年龄分布、区域分布和性别分布

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台_06

粉丝活跃分布

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台_07

粉丝设备分布

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_短视频数据_08

粉丝兴趣分布

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_抖音开放平台_09

1.4、根据access_token和open_id就可以获取到该用户所有的抖音短视频数据

和粉丝数一样,开放平台没有提供接口直接获取用户的作品数、点赞数、总评论数、总分享数、平均点赞数、平均评论数、平均分享数,所以我们在获取到所有视频的时候要根据每条视频返回来的相应字段计算出这些数据再存到数据库,结合前端开发,把数据传给前端就可以显示出来了。

这里不得不吐槽一下,像粉丝数、作品数、点赞数、总评论数、总分享数等这些和用户相关的字段应该统计出来在用户信息那个接口就要返回来的,这样能给开发者省了很多时间,而且更符合常理,不知道抖音是怎么想的。


5、总结

5.1、看完这些代码之后,其实也不难,和对接其他第三方接口一样,只要照着文档写,总能调出结果来。现在看到的抖音开放平台文档是更新过的,看上去会比之前要好些,不管是版面、注意点还是参数注释都有改进,虽然还是没提供demo下载,但是增加了几种语言的接口调用样例虽然没有什么实际的作用,但是手心手背都是肉,还是知足些吧。

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_短视频数据_10

5.2、第一次对接新的第三方接口基本都有坑,大部分时候我们都寄希望于踩过坑的前人能够填好这些坑,给后来的人一些参考,少走弯路,节省时间,提高效率。起初抖音官方在飞书建了开放平台技术讨论群,可以在里面问问题,但是没多久上线了工单平台,要开发者有问题就提工单,就关掉了飞书群。有过对接第三方开发经验的应该都有感触,提交工单的途径来问问题的效率有多慢。下面就列出一些在开发过程中遇到的坑,小伙伴们感受一波。

问题:当时对接的时候,修改回调域名需要重新审核,不知道现在平台改过来没有。

解决:所以为了保险起见,还是一开始就填正确,这点微信开放平台修改回调域名不需要审核。

问题:在做OAuth 2.0授权时,scope传入多个,像这样scope=aweme.share,hotsearch,enterprise.data,user_info,fans.list,following.list,fans.data,video.create,video.delete,video.data,video.list,video.comment,总是报“权限非法”,我去掉一个就可以,我试了多次后猜想应该是scope太长了,最后一个权限被抖音截掉了(比如video.comment被截断变成了video.com,而video.com确实不是完整的权限,所以就报权限非法的错误)。

SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据_短视频数据_11

解决:然后向平台反应了,果然这是他们的一个bug,现在已经修复了。

问题:接口不稳定,有时候可以,有时候不可以。

解决:所有的接口路径,最后面都要加上“/”,比如/fans/data/,这个不知道为什么,是问了抖音工作人员给出的解决方案。

问题:调用授权二维码的时候,如果因为自身业务需要在用户扫码确认授权后回调我们的接口那边携带自己的参数,要注意,不能在回调接口的路径上拼接参数,因为回调那边获取不到,比如回调接口路径是/mobile/douyin/authCallback,不能这样携带参数/mobile/douyin/authCallback?userId=36781631,这应该也是被抖音限制了吧,但是做微信扫码授权就可以这样传参。

解决:扫码的时候为了安全需要传入一个随机数state,可以在state后面拼接我们的业务参数,然后在回调那边获取到state后截取。


您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

上一篇:​​评价返现,实现用户留存公众号​

标签:粉丝,SpringBoot,用户,接口,开放平台,抖音,video
From: https://blog.51cto.com/wukongmazi/6029853

相关文章