抖音开放平台Logo
开发者文档
控制台
  • 移动应用
  • 网站应用
  • JS概述
  • Web 授权
  • JS 授权
  • H5 发布
  • 发布内容至抖音 H5 场景
  • H5 发布 Schema 生成示例
  • 发布内容至抖音 H5 场景
    收藏
    我的收藏

    H5 分享是指第三方应用通过接入该功能,让用户可以从网页或者外部应用分享在线视频或图片等信息到抖音。​
      当前功能建议网站应用开发者使用,可以在移动端 H5 或 PC 端网站上进行接入。​
      移动应用的开发者,如果有 App,更建议接入分享 SDK,链路和体验会更顺畅。具体操作,请参见发布内容至抖音。​
    注意
    目前抖音支持的内容格式为单图、单视频。 ​
    目前 H5 分享分为两种形式:分享到抖音编辑页、分享到抖音发布页。参考示例图如下​

    分享到抖音编辑页​

    分享到抖音编辑页流程一般为:​
      1.三方制作好要分享的视频。​
      2.调用该能力分享到抖音。​
        会先调起抖音裁剪页,然后再到抖音编辑页,最后再到抖音发布页。​

    分享到抖音发布页​

    分享到抖音无需经过抖音的裁剪页和抖音的编辑页,可以直接到抖音发布页,缩短了分享的链路。​
    注意
    分享到抖音发布页目前只支持单视频发布。​
    Android 和 iOS 支持分享到抖音发布页功能的最低抖音版本为:​
      Android:20.8.0
      iOS:21.5.0

    接入步骤​

    1. 申请开通相关能力​

      需要提前申请开通【发布内容至抖音】 。​
      开通H5场景(h5.share:能力管理 > 视频权限 > 开通H5场景 > 申请开通 ​
      获取 openTicket(open.get.ticket):能力管理 > 特殊权限 > 获取 openTicket > 申请开通​

    2. 获取 client_token​

    注意
    client_token 的有效时间 7200 秒左右,具体时效依赖接口返回,开发者必须在自己的服务全局缓存 client_token。​
    Method​
    HTTP request​
    POST /oauth/client_token/​

    3. 使用 client_token 获取 ticket​

    注意
    ticket 的有效期 7200 秒左右,具体时效需依赖接口返回,开发者必须在自己的服务全局缓存 ticket。​
    Method​
    HTTP request​
    GET /open/getticket/​

    4. 根据 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==&timestamp=1650941858
      2.对 string1 进行 MD5 签名,得到 signature:3f7b739a91a52cb7d85c4f89c5f611fe。​
    注意
      1.签名用的 nonce_strtimestamp 必须与 schema 中的 nonce_strtimestamp 相同。​
      2.出于安全考虑,开发者必须在服务器端实现签名的逻辑。​
      3.timestamp 类型为 String。​
      4.iOS 和 Android 抖音端内扫码 schema 头需要使用:snssdk1128://openplatform/share

    5. 生成分享 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中位置。​
    [ { "name": "hashtag", "start": 0 } ]
    注意
    抖音 22.2.0 版本以上支持该参数。​
    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_pathimage_list_pathvideo_path 三者至少要传一个,否则会报错。
      想获取用户分享结果,请调用查询视频发布结果获取 share_id,将其填写到 state 字段。
      图片格式支持:png/jpg/gif/(多图分享不支持 gif),视频格式支持:mp4/mov。​
      目前通过请求头中 content-type 进行校验,视频格式支持的 content-type 有 video/3gpp、video/quicktime、video/mp4,图片格式是 image/*。​
      iOS设备只有在 title 不为空的情况下,hashtag_list 能力才生效。​
      iOS设备暂不支持含有中文字符的文件路径URL(图片/视频/appUrl)​

    6. 拉起抖音分享​

    目前拉起分享支持以下两种方式:​
      Schema 生成二维码,用户使用抖音扫描二维码。​
      移动端 H5 或者 app 通过 schema 直接拉起抖音分享。​
    H5 页面示例:​