H5 分享是指第三方应用通过接入该功能,用户可以从网页或者外部应用分享在线视频或图片等信息到抖音。
•当前功能建议网站应用开发者使用,可以在移动端 H5 或 PC 端网站上进行接入。
•移动应用的开发者,如果有 App,更建议接入分享 SDK,链路和体验会更顺畅。具体操作,请参见发布内容至抖音。
注意
目前抖音支持的内容格式为单图、单视频。
目前 H5 分享分为两种形式:分享到抖音编辑页、分享到抖音发布页。参考示例图如下:
分享到抖音编辑页
分享到抖音编辑页流程一般为:
1.三方制作好要分享的视频。
2.调用该能力分享到抖音。
分享流程会先调起抖音裁剪页,进入抖音编辑页,最终到达抖音发布页。
分享到抖音发布页
分享到抖音无需经过抖音的裁剪页和抖音的编辑页,可以直接到抖音发布页,缩短了分享的链路。
注意
分享到抖音发布页目前只支持单视频发布。
Android 和 iOS 支持分享到抖音发布页功能的最低抖音版本为:
•Android:20.8.0
•iOS:21.5.0
接入步骤
申请开通相关能力
•需要提前申请开通「发布内容至抖音」能力
•开通H5场景(h5.share):能力管理 > 内容能力 > 投稿能力 > 发布内容至抖音:H5场景 > 申请开通
•获取 openTicket(open.get.ticket):能力管理 > 内容能力 > 投稿能力 > 获取 openTicket > 申请开通
获取 client_token
注意
client_token 的有效时间 7200 秒左右,具体时效以接口返回为准,开发者必须在自己的服务全局缓存 client_token。
|
Method
|
HTTP request
|
|
POST /oauth/client_token/
|
使用 client_token 获取 ticket
注意
ticket 的有效期 7200 秒左右,具体时效以接口返回为准,开发者必须在自己的服务全局缓存 ticket。
|
Method
|
HTTP request
|
|
GET /open/getticket/
|
根据 ticket 和其它字段进行签名计算
参与签名的字段包括:
•
nonce_str(随机字符串)•有效的
ticket•
timestamp(秒级时间戳,类型为 String)例如:
|
参数
|
示例
|
|
nonce_str
|
Wm3WZYTPz0wzccnW
|
|
ticket
|
@ml6sqYBGgTKmQNajnKNkaj8yksCAY++adIhlGIqfTiKyvBqOIkzdJ6WRgP+nO+wtVItqKbX4iZ+mFIYkyPJjpQ==
|
|
timestamp
|
1650941858
|
签名计算:
1.对所有待签名参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式(即
key1=value1&key2=value2…)拼接成字符串 string1:nonce_str=Wm3WZYTPz0wzccnW&ticket=@ml6sqYBGgTKmQNajnKNkaj8yksCAY++adIhlGIqfTiKyvBqOIkzdJ6WRgP+nO+wtVItqKbX4iZ+mFIYkyPJjpQ==×tamp=16509418582.对 string1 进行 MD5 签名,得到 signature:
3f7b739a91a52cb7d85c4f89c5f611fe。注意
1.签名用的
nonce_str 和 timestamp 必须与 schema 中的 nonce_str 和 timestamp 相同。2.出于安全考虑,开发者必须在服务器端实现签名的逻辑。
3.
timestamp 类型为 String。4.iOS 和 Android 抖音端内扫码 schema 头需要使用:
snssdk1128://openplatform/share生成分享 Schema
分享 schema 格式为
snssdk1128://openplatform/share?share_type=h5&client_key=xx&key=value...,建议将参数都进行urlencode处理。其中关键字段如下:
|
参数
|
必填
|
类型
|
说明
|
|
share_type
|
是
|
string
|
固定值为
h5
|
|
client_key
|
是
|
string
|
应用 key,在控制台中应用的总览页面获取
|
|
nonce_str
|
是
|
string
|
随机字符串
|
|
timestamp
|
是
|
string
|
时间戳
|
|
signature
|
是
|
string
|
验签签名
|
|
state
|
否
|
string
|
建议填写
按照查询视频发布结果获取
share_id,可以获取视频发布情况 |
|
image_path
|
否
|
string
|
图片文件路径(单个,不能超过 20M)
当
video_path 存在时优先使用 video_path当前支持的格式包含 png/jpg/gif
关于该参数请阅读表格下面的注意事项。
|
|
image_list_path
|
否
|
JsonArray.toString()
|
图片文件路径(多个),图集模式分享。示例:'[“https://douyin.com“]’
当
video_path 存在时优先使用 video_path当前支持的格式包含 png/jpg。
注意
抖音 22.2.0 版本以上支持该参数。
关于该参数请阅读表格下面的注意事项。
|
|
video_path
|
否
|
string
|
视频文件路径(单个,不能超过 128M)。
当前支持的格式包含 mp4/mov。
关于该参数请阅读表格下面的注意事项。
|
|
hashtag_list
|
否
|
JsonArray.toString()
|
支持有第三方预设内容分享抖音时默认携带的话题,指定的话题会展现在发布页面。示例:'[“hashtag1″,”hashtag2”]’
用户可自行删除该话题,该话题类型支持商业化话题和普通话题。发布后和抖音原生话题没有差别。
|
|
micro_app_info
|
否
|
Json.toString()
|
添加小程序。视频成功发布视频后,在视频左下角带有小程序入口。
示例:'{“appId”:”小程序appId”,”appTitle”:”小程序标题”,”description”:”小程序描述语”,”appUrl”:”小程序中生成该页面时写的 path 地址”}’
注意
要添加的小程序需先开通「短视频 UGC(用户创作)挂载能力」后,才能被添加并显示。
要添加的小程序需跟应用为同一主体下才能挂载成功。
|
|
share_to_publish
|
否
|
number
|
为 1 时直接分享到抖音发布页(仅视频)
|
|
title
|
否
|
string
|
视频标题
注意
抖音 22.2.0 版本以上支持该参数。
|
|
title_hashtag_list
|
否
|
JsonArray.toString()
|
插入title的hashtag列表,可指定在title中位置。
注意
抖音 22.2.0 版本以上支持该参数。
说明
1.title是“测试标题”的话,则话题可选择位置(start)如下
(0)测(1)试(2)标(3)题(4)(5)(6)(7)......2.如果您传入的start超过title字符,在后续处理中会统一把start赋值为title的长度,再进行后续处理。
3.如果有多个重复的start,会先根据start排序后,按照倒序的方式插入
例如:title=”测试标题” 且 title_hashtag_list=[{“name”:”重庆”,”start”:4},{“name”:”北京”,”start”:4},{“name”:”南京”,”start”:4},{“name”:”上海”,”start”:4}]
最终显示出来是
测试标题 # 上海 #南京 #北京 #重庆4.相同start的情况下,tag 插入顺序根据抖音版本会有一定变化,以抖音的表现为准。
5.在最佳时间中,可以通过在title中添加空格的方式让末尾的tag的start不超过title长度,保证tag插入顺序。
|
|
poi_id
|
否
|
string
|
地理位置信息锚点 id,与小程序 appId 互斥,优先展示小程序。
注意
抖音 22.2.0 版本以上支持该参数。
|
|
share_to_type
|
否
|
int
|
0:投稿 1:转发到日常
注意
抖音 25.4.0 版本以上支持该参数。
警告
投稿能力(aweme.share)和转发到日常能力(aweme.forward)均需应用申请对应能力的权限。
登录抖音开放平台控制台,进入目标应用。在应用详情中申请对应能力的权限(Scope)。
在抖音 30.5.0 以下版本,应用只需申请 h5.share 权限,即可在H5场景下使用投稿能力和转发到日常能力。
在抖音 30.5.0 及以上版本,用户需先申请h5.share能力开通H5场景,然后需申请 aweme.share 权限以使用投稿能力,申请 aweme.forward 权限以使用转发到日常能力。
|
|
short_title
|
否
|
string
|
短标题
注意
抖音 30.0.0 版本以上支持该参数
|
|
download_type
|
否
|
int
|
是否允许下载
1:允许,2:不允许
注意
•抖音 30.0.0 版本以上支持该参数
•转发到日常暂不支持
|
|
private_status
|
否
|
int
|
视频公开范围
0:全部人可见,1:自己可见,2:好友可见
注意
•抖音 30.0.0 版本以上支持该参数
•转发到日常暂不支持
|
|
feature
|
否
|
string
|
可选值:
note:当整体投稿流程为”普通投稿”,且投稿内容为”多图”,投稿类型为“图文”时,开发者可以设置该值,将体裁转变为”笔记”。
注意
1.抖音 30.3.0 版本以上支持该参数
2.在前置投稿参数均满足对应可选值前置条件时,再进行该值的设置,以免出现非预期情况。
|
注意事项:
•
image_path、image_list_path 和 video_path 三者至少要传一个,否则会报错。•想获取用户分享结果,请调用查询视频发布结果获取
share_id,将其填写到 state 字段。•参数需要编码,生成 Schema 请参考 H5 分享 Schema 生成示例。
•图片格式支持:png、jpg、gif(多图分享不支持gif),视频格式支持:mp4、mov。
•目前通过请求头中
content-type 进行校验,视频格式支持的 content-type 有 video/3gpp、video/quicktime、video/mp4,图片格式为 image/*。•iOS 设备只有在 title 不为空的情况下,hashtag_list 能力才会生效。
•iOS 设备暂不支持含有中文字符的文件路径URL(图片、视频、appUrl)
•如果文件路径URL可能包含+号,需要在 iOS 设备上测试含+号的文件路径URL是否能正常分享。如果发现提示下载文件失败,可以在iOS设备上,针对+号单独额外做一次encode后重试
拉起抖音分享
目前拉起分享支持以下两种方式:
•Schema 生成二维码,用户使用抖音扫描二维码。
•移动端 H5 或者 App 通过 schema 直接拉起抖音分享。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。


评论(0)