哔哩哔哩 API
  1. 开放能力
哔哩哔哩 API
  • 新手指引
    • 平台简介
    • 开发者入驻
    • 应用管理
  • 接入指引
    • 网页应用接入
    • ios应用接入
    • andriod应用接入
    • SDK信息收集告知表
  • 开放能力
    • 账号授权
    • 接口签名实现标准和状态码
    • 权限白名单说明
    • 用户管理
      • 查询用户已授权权限列表
      • 获取用户公开信息
      • 获取用户的 union_id
    • 视频稿件管理
      • 服务端视频稿件投递
        • 接口概览
        • 文件上传预处理
        • 文件分片上传
        • 文件分片合片
        • 封面上传
        • 视频稿件提交
        • 分区查询
        • 单个小视频文件上传
      • 用户端唤起粉段投稿
        • 业务说明
        • 唤起粉端投稿接口说明
      • 视频稿件查询
        • 查询单一视频稿件详情
        • 查询用户视频稿件列表
      • 视频稿件编辑
      • 视频稿件删除
    • 专栏稿件管理
      • 文章管理
        • 查看文章
          • 查询文章详情
          • 查询文章列表
          • 获取文章的分类列表
          • 获取视频、文章卡片信息
        • 文章提交
        • 文章编辑
        • 文章删除
      • 文集管理
        • 文集编辑
          • 文集信息编辑
          • 文集下文章列表修改
        • 查看文集
          • 查询文集列表
          • 查询文集详情
        • 文集提交
        • 文集删除
      • 图片上传
        • 专栏稿件图片上传
    • 账号管理
      • 通过授权码获取access_token
      • 通过刷新令牌续期access_token
    • 数据开放服务
      • 用户数据
        • 获取用户数据
      • 视频数据
        • 获取单个稿件数据
        • 获取整体稿件增量数据
      • 专栏数据
        • 获取单一专栏数据
        • 获取单一专栏数据
    • 直播能力
      • 接入指南
      • 直播间长连和消息
        • 直播间消息websocket协议
        • 长连CMD说明
        • 直播房间长链信息及心跳ID
        • 直播房间长链心跳
        • 直播房间批量长链心跳
      • 开播能力嵌入(一键开播)
        • 一键开播说明
        • 业务流程说明
        • 开播接口列表
          • 开播授权
          • 开始直播
          • 结束直播
      • 获取直播间基础信息
      • 获取直播间详细信息
  • WebHooks
    • 概述
    • 事件列表
  • 常见工具
    • 示例代码
    • 沙盒环境
  • 运营指南
    • 运营规范
    • 处罚规则
    • 处罚公告
  • 其他
    • 状态码
    • 联系我们
  1. 开放能力

账号授权

简介#

本文档介绍了第三方应用如何接入哔哩哔哩 OAuth 2.0, 可使用户授权第三方应用访问其哔哩哔哩上基本开放信息和其他已授权的相关信息,而无需将用户名和密码提供给第三方应用。

授权流程说明#

使用B站授权之前,需要在开放平台完成入驻和应用申请,得到分配的 client_id 和 secret。授权流程图如下:
null

详细说明:#

在用户同意授权之后,会返回授权临时票据(code)给到第三方。如果是客户端应用,通过SDK接口返回;如果是网站应用,则重定向到第三方网站。
第三方使用授权临时票据(code)和app_id、app_secret,通过接口置换 access_token。
access_token作为第三方应用访问bilibili开放接口的凭证,可以用来请求用户基本信息或者其他资源接口。
注意事项:
如果应用申请了新的接口权限(scope),原有的已授权用户无法调用新的接口。需要引导已授权用户重新授权,并勾选相应scope,授权之后方可成功调用。
授权页只会显示应用已经申请通过的接口权限(scope)。以Web授权页为例,如图:
null

接口详细介绍#

1.1.WEB页授权#

详细参考 接入指引-网页应用接入 章节

1.2.移动应用SDK方式授权#

详细参考 接入指引-IOS应用接入 或 andriod应用接入 章节
请注意:通过任意一种授权方式授权后即可,例如移动客户端也可以通过WEB页进行授权

2.1.授权注意事项:解除授权#

当用户主动解除授权或注销账号时,开放平台会向所有已授权的厂商、第三方、接入应用推送该用户解除授权的业务消息。
请开发者根据 消息推送-用户解除授权 事件接入对应事件逻辑。

接口详情#

通过授权码获取access_token#

接口说明#

第三方应用拿到 code 之后,通过 code 向哔哩哔哩服务器换取 access_token

注意事项:#

access_token作为访问凭证,是有着有效期限制的,通过接口获取和刷新access_token后请妥善保管access_token以及refresh_token,根据接口返回的有效期判断当前access_token是否有效,如果有需要,请在有效期前通过refresh_token刷新获取新的access_token和有效期。
如当前access_token已过期,如果需要获取新的access_token,需要用户再次授权,此期间,基础授权功能不受影响(在此期间用户可以手动取消授权)。

请求URL#

https://api.bilibili.com/x/account-oauth2/v1/token

HTTP请求方式#

POST (Content-Type: application/x-www-form-urlencoded)

请求参数#

url参数
参数名必传说明备注
client_idtruestring申请应用时分配的client_id
client_secrettruestring申请应用时分配的secret
grant_typetruestring请求的类型,此处的值固定为”authorization_code”
codetruestring授权拿到的code值
body参数
无
请求样例
无

响应参数#

body参数
参数名必传说明备注
refresh_tokentruestringrefresh_token续期令牌
access_tokentruestringaccess_token
expires_intrueint过期时间(UTC时间)
scopestrue[]string用户已授权的权限点
响应样例
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
         "access_token": "d30bedaa4d8eb3128cf35ddc1030e27d",
         "expires_in": 1630220614,
         "refresh_token": "WxFDKwqScZIQDm4iWmKDvetyFugM6HkX",
         "scopes": [
            "USER_INFO",
            "ATC_DATA",
            "ATC_BASE"
        ]
    }
}

通过刷新令牌续期access_token#

接口说明#

通过refresh_token,获取新的access_token。每个renfresh_token只能使用一次。

注意事项:#

access_token作为访问凭证,是有着有效期限制的,通过接口获取和刷新access_token后请妥善保管access_token以及refresh_token,根据接口返回的有效期判断当前access_token是否有效,如果有需要,请在有效期前通过refresh_token刷新获取新的access_token和有效期。
如当前access_token已过期,如果需要获取新的access_token,需要用户再次授权,此期间,基础授权功能不受影响(在此期间用户可以手动取消授权)。

请求URL#

https://api.bilibili.com/x/account-oauth2/v1/refresh_token

HTTP请求方式#

POST (Content-Type: application/x-www-form-urlencoded)

请求参数#

url参数
参数名必传说明备注
client_idtruestring申请应用时分配的client_id
client_secrettruestring申请应用时分配的secret
grant_typetruestring请求的类型,此处的值固定为”refresh_token”
refresh_tokentruestringrefresh_token, 续期令牌
body参数
无
请求样例
无

响应参数#

body参数
参数名必传说明备注
refresh_tokentruestringrefresh_token续期令牌
access_tokentruestringaccess_token
expires_intrueintaccess_token过期时间(UTC时间)
响应样例
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
         "access_token": "d30bedaa4d8eb3128cf35ddc1030e27d",
         "expires_in": 1630220614,
         "refresh_token": "WxFDKwqScZIQDm4iWmKDvetyFugM6HkX",
         "scopes": [
            "USER_INFO",
            "ATC_DATA",
            "ATC_BASE"
        ]
    }
}

【哔哩哔哩】API开发者 微信交流群

用微信扫右侧二维码,加入【哔哩哔哩】API开发者 交流群,互助沟通

扫码加入交流群
修改于 2025-10-11 09:06:54
上一页
SDK信息收集告知表
下一页
接口签名实现标准和状态码
Built with