REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。
用于 Git blob 的 REST API 端点
使用 REST API 与 Git blob(二进制大对象)进行交互,blob 是用于存储存储库中每个文件内容的对象类型。
关于 Git blob
Git blob(二进制大对象)是用于存储存储库中每个文件内容的对象类型。文件的 SHA-1 哈希值将被计算并存储在 blob 对象中。这些端点允许您读取和写入 blob 对象 到 GitHub 上的 Git 数据库。Blob 利用 这些自定义媒体类型。有关 API 中媒体类型使用的更多信息,请参阅“REST API 入门”。
创建 blob
用于“创建 blob”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “内容”存储库权限(写入)
用于“创建 blob”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
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 兆字节的 Blob。
“获取 Blob” 的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Contents" 仓库权限 (读取)
如果只请求公共资源,则无需身份验证或上述权限即可使用此端点。
"获取 Blob" 的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需仓库的名称,不包含 |
file_sha 字符串 必填 |
"获取 Blob" 的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
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
响应