抖音内打开的h5页面,跳转到抖音商户页面方法记录。
需求说明:最近在开发抖音内嵌H5页面,需要上传抖音视频,其实上传主要是通过后端封装抖音提供的openapi接口来实现。但是产品突然提了一个需求,说能不能上传成功后跳转到抖音其他页面呢?于是我翻遍了官方提供的js桥文档,但是官方文档里面根本没有相关的js桥和跳转方法。于是使出了程序员的三连:做不了,实现不了,没有这个功能。结果产品发来一个二维码,抖音扫码进去后是某商户的推广H5,功能大概是授权后上传
目录
需求说明:
最近在开发抖音内嵌H5页面,需要上传抖音视频,其实上传主要是通过后端封装抖音提供的openapi接口来实现。
但是产品突然提了一个需求,说能不能上传成功后跳转到抖音其他页面呢?
于是我翻遍了官方提供的js桥文档,但是官方文档里面根本没有相关的js桥和跳转方法。
于是使出了程序员的三连:做不了,实现不了,没有这个功能。
结果产品发来一个二维码,抖音扫码进去后是某商户的推广H5,功能大概是授权后上传素材视频,但最后它上传成功后居然跳转到了抖音的商户页面!
啪啪打脸。
于是开始研究,它到底是如何实现的呢 ?
研究分析:
解析烧烤店的二维码,拿到了一个网址:
打开网址,使用抖音扫码授权后,发现它居然可以成功在PC网页上运行!
于是便想看看,能否正常发布,结果发现能够成功发布!
并且,发布完之后,页面白屏,报错提示:
faild to launch 'snssdk1128://user/profile/99886282085?gd_label=click_wap_profile_bottom&needlaunchlog=1&refer=web&scene_from=share_reflow&type=need_follow&zlink=https://z.douyin.com/Mfen&zlink_click_time=1636767075' because the scheme does not have a registered handler.
这个报错很眼熟,并且其中的一个关键字scheme引起了我的注意。
以前开发app下载功能的时候,有个url scheme,ios内可以通过浏览器跳转到苹果的app store中进行app下载。
于是经过一番搜索,了解到这个url scheme其实能够打开任意app的任意页面,只要你知道对应的url scheme。
问题解决:
既然如此,那么报错信息里的那一串地址:'snssdk1128://user/profile/99886282085?gd_label=click_wap_profile_bottom&needlaunchlog=1&refer=web&scene_from=share_reflow&type=need_follow&zlink=https://z.douyin.com/Mfen&zlink_click_time=1636767075',很可能就是抖音商户页面的url scheme
?以后的应该是类似于链接地址上的查询字符串,应该可以去掉。
?前面的那串99886282085,很可能是抖音用于标识商户的唯一id之类的东西。
因此只要我们知道了这个商户id,就可以跳转到任意一个抖音商户页面。
为了验证我的猜想,于是我在项目中上传视频成功后,增加了一个跳转:
window.location.href = 'snssdk1128://user/profile/99886282085'
上线验证后,发现果然能够成功跳转到商户页面!
如何获取用户id:
那么如何获取用户id呢?
根据网上的方法,分享用户页面的短链,然后在浏览器中打开,但是却无法找到用户id。
原来是因为抖音可能为了避免用户id滥用,把用户id给加密了。。。
GG,无法得知抖音加密的具体方法。
不知道是否有其他的方式获取抖音用户id
希望看到的大神能够赐教。
2024-06-21更新:获取自己的userId方法
发现这篇文章看的人还挺多的,感觉还是得补完比较好。
查看了一下,现在可以很容易的获取本人账号的userId,方法如下:
1、点击抖音左上角的3道杠图标。
2、点击设置按钮。
3、设置页面滑动到最下方,单击抖音版本号5次
4、单击想要复制的信息,如userId,会自动复制。
至此,整个流程完整。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)