Skip to main content
Ahora la API de REST tiene control de versiones. Para obtener más información, consulta "Acerca del control de versiones de la API".

Puntos de conexión de la API de REST para blobs de Git

Usa la API de REST para interactuar con un blob de Git (objeto binario grande), el tipo de objeto que se usa para almacenar el contenido de cada archivo en un repositorio.

Acerca de los blobs de Git

Un blob (objeto binario grande, por sus siglas en inglés) de Git es el tipo de objeto que se utiliza para almacenar el contenido de cada archivo en un repositorio. El hash SHA-1 del archivo se calcula y almacena en el objeto del blob. Estos puntos de conexión permiten leer y escribir objetos de blob en la base de datos de Git en GitHub. Los blobs sacan provecho de estos tipos de medios personalizados. Para obtener más información sobre el uso de tipos de multimedia en la API, consulta “Introducción a la API REST”.

Tipos de medios personalizados para los blobs

Estos son los tipos de medios compatibles para los blobs.

application/json
application/vnd.github.raw

Para obtener más información, vea «Introducción a la API REST».

Create a blob

Tokens de acceso específicos para "Create a blob"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • contents:write

Parámetros para "Create a blob"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de la ruta de acceso
Nombre, Tipo, Descripción
owner string Requerido

The account owner of the repository. The name is not case sensitive.

repo string Requerido

The name of the repository without the .git extension. The name is not case sensitive.

Parámetros del cuerpo
Nombre, Tipo, Descripción
content string Requerido

The new blob's content.

encoding string

The encoding used for content. Currently, "utf-8" and "base64" are supported.

Valor predeterminado: utf-8

Códigos de estado de respuesta HTTP para "Create a blob"

status codeDescripción
201

Created

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Ejemplos de código para "Create a blob"

Ejemplo de solicitud

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":"Content of the blob","encoding":"utf-8"}'

Response

Status: 201
{ "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" }

Get a blob

The content in the response will always be Base64 encoded.

This endpoint supports the following custom media types. For more information, see "Media types."

  • application/vnd.github.raw+json: Returns the raw blob data.
  • application/vnd.github+json: Returns a JSON representation of the blob with content as a base64 encoded string. This is the default if no media type is specified.

Note This endpoint supports blobs up to 100 megabytes in size.

Tokens de acceso específicos para "Get a blob"

Este punto de conexión funciona con los siguientes tipos de token:

El token debe tener el siguiente conjunto de permisos.:

  • contents:read

Este punto de conexión se puede usar sin autenticación o los permisos mencionados anteriormente si solo se solicitan recursos públicos.

Parámetros para "Get a blob"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de la ruta de acceso
Nombre, Tipo, Descripción
owner string Requerido

The account owner of the repository. The name is not case sensitive.

repo string Requerido

The name of the repository without the .git extension. The name is not case sensitive.

file_sha string Requerido

Códigos de estado de respuesta HTTP para "Get a blob"

status codeDescripción
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Ejemplos de código para "Get a blob"

Ejemplo de solicitud

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

Response

Status: 200
{ "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", "encoding": "base64", "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "size": 19, "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" }