REST API 现在已版本化。 更多信息,请参阅“关于 API 版本控制”。
Git Blob 的 REST API 端点
使用 REST API 与 Git blob(大型二进制对象)交互,这是用于存储代码库中每个文件内容的对象类型。
关于 Git Blob
Git blob(大型二进制对象)是用于存储代码库中每个文件内容的对象类型。文件的 SHA-1 哈希值会被计算并存储在 blob 对象中。这些端点允许您读取和写入 blob 对象 到 GitHub 上的 Git 数据库。Blob 利用 这些自定义媒体类型。有关在 API 中使用媒体类型的更多信息,请参阅“REST API 入门”。
创建 Blob
“创建 Blob” 的细粒度访问令牌
此端点可与以下细粒度令牌类型配合使用:
细粒度令牌必须具有以下权限集
- “内容” 代码库权限(写入)
“创建 Blob” 的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需不带 |
名称、类型、描述 |
---|
content 字符串 必需新的 blob 的内容。 |
encoding 字符串用于 默认: |
“创建 Blob” 的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
201 | 已创建 |
403 | 禁止 |
404 | 资源未找到 |
409 | 冲突 |
422 | 验证失败 |
“创建 Blob” 的代码示例
请求示例
post/repos/{owner}/{repo}/git/blobs
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/git/blobs \ -d '{"content":"Blob的内容","encoding":"utf-8"}'
响应
获取 Blob
响应中的content
始终为 Base64 编码。
此端点支持以下自定义媒体类型。更多信息,请参阅“媒体类型”。
application/vnd.github.raw+json
:返回原始 blob 数据。application/vnd.github+json
:返回 blob 的 JSON 表示形式,其中content
为 base64 编码的字符串。如果未指定媒体类型,则这是默认值。
注意 此端点支持大小最多为 100 MB 的 blob。
“获取 Blob” 的细粒度访问令牌
此端点可与以下细粒度令牌类型配合使用:
细粒度令牌必须具有以下权限集
- “内容” 代码库权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“获取 Blob” 的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需不带 |
file_sha 字符串 必需 |
“获取 Blob” 的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | 确定 |
403 | 禁止 |
404 | 资源未找到 |
409 | 冲突 |
422 | 验证失败,或端点已被滥用。 |
“获取 Blob” 的代码示例
请求示例
get/repos/{owner}/{repo}/git/blobs/{file_sha}
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/repos/OWNER/REPO/git/blobs/FILE_SHA
响应