跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅 "关于 API 版本控制."

用户交互的 REST API 端点

使用 REST API 可以暂时限制哪些类型的用户可以在您的公共仓库中发表评论、打开问题或创建拉取请求。

关于用户交互

您可以使用 REST API 暂时限制哪些类型的用户可以在您的公共仓库中发表评论、打开问题或创建拉取请求。启用限制后,只有指定类型的 GitHub 用户才能参与交互。限制会在定义的持续时间后自动过期。以下是对 GitHub 用户类型的更多说明

  • 现有用户:当您将交互限制为 existing_users 时,帐户创建不到 24 小时且以前没有贡献过且不是合作者的新用户将被暂时限制与您的仓库进行交互。
  • 仅限贡献者:当您将交互限制为 contributors_only 时,以前没有贡献过且不是合作者的用户将被暂时限制与您的仓库进行交互。
  • 仅限合作者:当您将交互限制为 collaborators_only 时,不是合作者的用户将被暂时限制与您的仓库进行交互。

在用户级别设置交互限制将覆盖为用户拥有的各个仓库设置的任何交互限制。要为用户拥有的各个仓库设置不同的交互限制,请使用 仓库 交互端点。

获取您公共仓库的交互限制

显示哪些类型的 GitHub 用户可以与您的公共仓库进行交互以及限制何时过期。

用于“获取您公共仓库的交互限制”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “交互限制”用户权限(读取)

用于“获取您公共仓库的交互限制”的 HTTP 响应状态代码

状态代码描述
200

默认响应

204

没有限制时的响应

用于“获取您公共仓库的交互限制”的代码示例

请求示例

get/user/interaction-limits
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/interaction-limits

默认响应

状态:200
{ "limit": "collaborators_only", "origin": "organization", "expires_at": "2018-08-17T04:18:39Z" }

设置您公共仓库的交互限制

暂时限制哪些类型的 GitHub 用户可以与您的公共仓库进行交互。在用户级别设置交互限制将覆盖为用户拥有的各个仓库设置的任何交互限制。

用于“设置您公共仓库的交互限制”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “交互限制”用户权限(写入)

用于“设置您公共仓库的交互限制”的参数

标题
名称、类型、描述
accept string

建议将设置设置为application/vnd.github+json

主体参数
名称、类型、描述
limit string 必填

在交互限制生效期间,可以评论、打开问题或创建拉取请求的 GitHub 用户类型。

可以是以下之一:: existing_users, contributors_only, collaborators_only

expiry string

交互限制的持续时间。默认值:one_day

可以是以下之一:: one_day, three_days, one_week, one_month, six_months

“设置公共仓库的交互限制”的 HTTP 响应状态码

状态代码描述
200

OK

422

验证失败,或端点已被垃圾邮件轰炸。

“设置公共仓库的交互限制”的代码示例

请求示例

put/user/interaction-limits
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/interaction-limits \ -d '{"limit":"collaborators_only","expiry":"one_month"}'

响应

状态:200
{ "limit": "collaborators_only", "origin": "user", "expires_at": "2018-08-17T04:18:39Z" }

从您的公共仓库中删除交互限制

从您的公共仓库中删除任何交互限制。

“删除公共仓库的交互限制”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “交互限制”用户权限(写入)

“删除公共仓库的交互限制”的 HTTP 响应状态码

状态代码描述
204

无内容

“删除公共仓库的交互限制”的代码示例

请求示例

delete/user/interaction-limits
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/interaction-limits

响应

状态:204