如何通过GitHub API使用User Access Token(UAT)创建仓库?
能否用GitHub Apps的User Access Token(UAT)创建仓库?
完全可行,但需要满足以下几个关键条件:
- 权限配置到位:在GitHub App的设置里,必须勾选对应的仓库权限——创建私有仓库需开启
repo权限,创建公开仓库则开启public_repo权限,且生成UAT时要包含这些权限范围。 - 用户身份有权限:UAT是代表授权用户的令牌,要确保该用户具备创建仓库的权限:创建个人仓库时用户本身默认拥有权限;创建组织仓库时,用户需在目标组织中拥有创建仓库的权限。
- API调用格式正确:调用GitHub API创建仓库接口(
POST /user/repos用于个人仓库,POST /orgs/{org}/repos用于组织仓库)时,将UAT放在请求头的Authorization: token <你的UAT>字段中,和使用PAT的调用方式一致。
举个curl调用示例:
curl -X POST \ https://api.github.com/user/repos \ -H "Authorization: token YOUR_USER_ACCESS_TOKEN" \ -d '{"name":"new-demo-repo","private":true}'
额外注意:GitHub Apps生成的UAT默认有效期为1小时,不像PAT可长期有效,使用前需确认令牌处于有效期内,或实现自动刷新令牌的逻辑。
内容的提问来源于stack exchange,提问作者Trần Ngọc Tuấn
相关产品推荐
相关产品推荐

