无法访问github api获得不良凭据错误

问题描述 投票:0回答:1

在本科上,它给了我这个错误:

{ "message": "You must authenticate via a GitHub App.", "documentation_url": "https://docs.github.com/rest/reference/checks#create-a-check-run" }

I遵循此
link
的指南。

I创建了一个github应用程序。

gave它需要许可。

加快了一个私钥。 使用私钥会加生JWT令牌。

将github应用程序安装在存储库中
  1. I创建了一个卷曲请求:
  2. curl --location --request POST 'https://api.github.com/repos/X/X-app/check-runs' \ --header 'Accept: application/vnd.github.v3+json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.X.X-X-SAFvDnSkaJDjMI2T_BAC2iLlRZ7uNyFSe-X-UgFBFjoFrwsbcYFKfDM8f3FNPYpA6afhr18DLZ6rzu35klA' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "loremipsum" }'

但现在我遇到了这个错误


{ "message": "Bad credentials", "documentation_url": "https://docs.github.com/rest" }

我不确定我在这里缺少什么。

我想出了这一点。 GitHub文档有点不清楚/误导。 您不要将应用程序的JWT携带者令牌直接传递到“创建检查运行” API;取而代之的是,您使用该携带者令牌来获取特定安装的访问令牌,然后将that
代币传递给“创建check contect run”api.
要获得该访问令牌,您需要安装ID;如果您还没有它,则可以使用该应用程序的JWT携带者令牌列出您的安装:

curl -i \ -H "Authorization: Bearer YOUR_JWT" \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/app/installations

在您知道安装ID时,您可以使用该应用程序的JWT携带者令牌来获得安装的访问令牌:

github github-api github-api-v3
1个回答
25
投票
然后,您可以使用该访问令牌在该仓库上调用github apis:

curl -i \ -H "Authorization: token YOUR_INSTALLATION_ACCESS_TOKEN" \ ...

(请注意,您要编写token

而不是

Bearer

。)
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.