跳转至

查看仓库成员的权限

GET /api/v5/repos/{owner}/{repo}/collaborators/{username}/permission

该接口用于查询指定仓库中某个成员的权限信息,包括成员的基础资料、权限级别(admin/write/read)及权限明细,便于了解该成员在仓库中的具体操作权限。

访问令牌支持说明

  • AtomGit 用户访问令牌(AtomGit user access tokens)

是否允许匿名访问

此接口不允许匿名访问

请求参数

参数名 位置 类型 必填 说明
owner path string 是 仓库所属空间地址(企业、组织或个人的地址path)
repo path string 是 仓库路径(path)
username path string 是 用户名(username/login),不支持纯数字
access_token query string 是 用户授权码

响应参数

字段 类型 必返 可为空 说明
id string 是 是 用户id
name string 是 是 用户名称
username string 是 是 用户名
login string 是 是 登录名(同 username)
nick_name string 是 是 用户昵称
state string 是 是 状态
email string 是 是 用户邮箱
web_url string 是 是 网页地址
access_level integer 是 是 权限级别
type string 是 是 类型
join_way string 是 是 加入方式
source_name string 是 是 来源名称
role_name string 是 是 角色名称
role_name_cn string 是 是 角色中文名
object_id string 否 是 用户内部对象ID,成员对应用户信息存在时返回
permission string 是 是 成员权限,枚举:admin / write / read
permissions object 是 是 权限明细对象

permissions 对象

字段 类型 必返 可为空 说明
permissions.pull boolean 否 是 是否可拉取,当前未赋值
permissions.push boolean 否 是 是否可推送,当前未赋值
permissions.admin boolean 是 是 是否为管理员(access_level 为 50 时为 true)

HTTP 响应状态码

状态码 说明
200 成功(OK)
401 需要认证(Requires authentication)
404 成员不存在(User not found)

请求示例

参数说明

<owner> 替换为仓库所属空间地址(企业、组织或个人的地址path);
<repo> 替换为仓库路径(path);
<username> 替换为用户名(username/login);
<token> 替换为你的 AtomGit 用户访问令牌。

cURL

curl -X GET 'https://api.atomgit.com/api/v5/repos/<owner>/<repo>/collaborators/<username>/permission?access_token=<token>' \
  -H 'Accept: application/json'

JavaScript

// 原生 fetch (Node.js 18+ / 浏览器)
const owner = "<owner>";
const repo = "<repo>";
const username = "<username>";
const token = "<YOUR-TOKEN>";

const response = await fetch(
  `https://api.atomgit.com/api/v5/repos/${owner}/${repo}/collaborators/${username}/permission?access_token=${token}`,
  {
    headers: {
      "Accept": "application/json",
    },
  }
);

if (!response.ok) {
  throw new Error(`请求失败: ${response.status}`);
}

const data = await response.json();
console.log(data);

Python

import requests

owners = "<owner>"
repo = "<repo>"
username = "<username>"
token = "<YOUR-TOKEN>"

resp = requests.get(
    f"https://api.atomgit.com/api/v5/repos/{owners}/{repo}/collaborators/{username}/permission",
    params={"access_token": token},
    headers={"Accept": "application/json"},
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

响应示例

状态码: 200

{
  "id": "268",
  "name": "张三",
  "username": "zhangsan",
  "nick_name": "张三",
  "state": "active",
  "email": "zhangsan@example.com",
  "web_url": "https://api.atomgit.com/zhangsan",
  "access_level": 50,
  "type": "member",
  "join_way": "invite",
  "source_name": "zhangsan",
  "role_name": "admin",
  "role_name_cn": "管理员",
  "object_id": "1001",
  "permission": "admin",
  "permissions": {
    "pull": true,
    "push": true,
    "admin": true
  }
}

错误码

错误码 说明
401 未认证或凭证无效(缺少/无效的访问凭证)
404 用户不是仓库成员或用户不存在
500 系统内部错误

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc