调用GitHub REST API生成GitHub App范围访问令牌的认证问题排查
解决GitHub App范围访问令牌生成的"Not Found"问题
你的请求失败主要是两个核心错误导致的:
1. 认证方式不符合要求
该端点必须使用Basic Authentication,将GitHub App的CLIENT_ID作为用户名,CLIENT_SECRET作为密码,而你用了Bearer <PAT>的认证方式,这会导致服务端无法正确识别身份,返回404。
2. 请求体参数错误
请求体里的access_token字段应该填入你要生成范围令牌的原令牌(也就是你创建的Personal Access Token),而不是GitHub App的CLIENT_SECRET。
正确的cURL请求示例
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -u "CLIENT_ID:CLIENT_SECRET" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/applications/CLIENT_ID/token/scoped \ -d '{"access_token":"<PERSONAL_ACCESS_TOKEN>","target":"<MY_GITHUB_USERNAME>","permissions":{"metadata":"read","issues":"write","contents":"read"}}'
额外注意事项
- 确保你的PAT拥有足够权限:原PAT需要包含你在
permissions里指定的对应权限(比如issues:write、contents:read等)。 - 确认GitHub App已正确安装到目标用户/组织下,且授予了对应仓库的访问权限。
- 替换所有占位符:
CLIENT_ID、CLIENT_SECRET、<PERSONAL_ACCESS_TOKEN>、<MY_GITHUB_USERNAME>要换成你实际的信息。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

