Github 应用程序:无法通过集成访问资源

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

我遇到了一些描述相同问题的其他帖子,但他们都没有解决方案,因此为我的困境提供了一些额外的背景信息。 Github 显示了三个级别的应用程序:Oauth 应用程序、授权的 Github 应用程序和已安装的 Github 应用程序。我的目标是创建一个新的 blob 并将其提交到给定的分支中。

使用 OAuth 应用程序的访问令牌时,API 请求始终有效。

--header 'Authorization: Bearer gho_<redacted>' \
--header 'X-GitHub-Api-Version: 2022-11-28' \
--header 'Accept: application/vnd.github+json' \
--header 'Content-Type: application/json' \
--data '{
  "content": "Content of the blob",
  "encoding": "utf-8"
}'

为授权的 Github 应用程序为每个用户生成的访问令牌适用于某些存储库,但不适用于所有存储库:

--header 'Authorization: Bearer ghu_<readcted>' \
--header 'X-GitHub-Api-Version: 2022-11-28' \
--header 'Accept: application/vnd.github+json' \
--header 'Content-Type: application/json' \
--data '{
  "content": "Content of the blob",
  "encoding": "utf-8"
}'

最重要的是,Github 应用程序的安装访问令牌会引发 403 错误:

--header 'Authorization: Bearer ghs_<redacted>' \
--header 'X-GitHub-Api-Version: 2022-11-28' \
--header 'Accept: application/vnd.github+json' \
--header 'Content-Type: application/json' \
--data '{
  "content": "Content of the blob",
  "encoding": "utf-8"
}'

{
    "message": "Resource not accessible by integration",
    "documentation_url": "https://docs.github.com/rest/git/blobs#create-a-blob",
    "status": "403"
}

我多次检查了 Github 应用程序权限,是的,它具有创建 Blob 所需的内容权限。以下是该应用程序拥有的权限:

"permissions": {
      "actions": "write",
      "administration": "write",
      "checks": "write",
      "contents": "write",
      "deployments": "write",
      "environments": "read",
      "issues": "write",
      "metadata": "read",
      "pull_requests": "write",
      "repository_hooks": "write",
      "statuses": "write",
      "workflows": "write"
    }

Blob 创建 API 提到 GitHub 应用程序用户访问令牌和 GitHub 应用程序安装访问令牌都可以使用,但我收到了这两个令牌的 403 错误。

enter image description here

我错过了什么吗?如果我想为最终用户提供细粒度的访问,如何解决已安装的 Github 应用程序的此问题?

python github github-api json-api personal-access-token
1个回答
0
投票

App本身是否有所需的权限?请参阅开发者设置

您对存储库权限/内容有什么?

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.