通过 scopes,你可以准确的指定所需的访问类型。scopes 限制 OAuth tokens 的访问权限。他们不会授予超出用户已有权限的任何其他权限。


在语雀上设置 OAuth 应用程序时,会在授权表单上向用户显示请求的 scopes。


检查你拥有的 OAuth scopes 以及 API 接受的 scopes:


curl -X GET \
  https://www.yuque.com/api/v2/user \
  -H 'X-Auth-Token: 授权后获得的 Token' \

Headers:
X-OAuth-Scopes:doc,attach_upload
X-Accepted-OAuth-Scopes:null



由于在语雀中用户基本的信息是默认提供的,不需要 scopes 授权,所以 X-Accepted-OAuth-Scopes  没有返回。而当读取知识库、文档等信息就需要检测了,会对 access token 进行鉴权,判断是否有读取这些信息的权限,同时接口返回的响应头会带上 X-Accepted-OAuth-Scopes ,表明这个资源需要的 scopes。



授权范围(scope)

名词

描述

(no scope) 

授予对公共信息的只读访问权限(只能获取用户信息,不包含手机号和邮箱

group

修改和读取你的团队

    group:read 

读取你的团队信息

repo

修改和读取你的知识库

    repo:read

读取你的知识库

topic

修改和读取你的主题

    topic:read

读取你的主题

doc

修改和读取你的文档

   doc:read

读取你的文档

artboard

修改和读取你的画板

   artboard:read

读取你的画板


注意:你的 OAuth 应用可以在初始重定向定义这些 scopes。多个 scope 你可以通过用逗号 “,” 来分隔指定它们。


GET https://www.yuque.com/oauth2/authorize?client_id=...&scope=doc,repo



规范化范围(scope)


请求多个作用域时,token 将使用规范化的作用域列表进行保存,并且丢弃另一个请求作用域隐式包含的作用域。例如:请求 doc,doc:read,repo  的结果是 doc,repo ,因为 doc:read 的作用域是包含在 doc 中的,所以会进行丢弃。



高级授权范围(scope)


上传属于高级 scope,默认是不会开放的,需要这个 scope 的应用需要单独申请开通。

申请请发送邮件到 support@yuque.com ,说明申请的原因。

名词

描述

attach_upload 

附件上传(仅图片)


接口地址:文件上传