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.
Create a blob
Tokens de acceso específicos para "Create a blob"
Este punto de conexión funciona con los siguientes tipos de token pormenorizados:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token pormenorizado debe tener el siguiente conjunto de permisos:
- "Contents" repository permissions (write)
Parámetros para "Create a blob"
| Nombre, Tipo, Descripción | 
|---|
| acceptstringSetting to  | 
| Nombre, Tipo, Descripción | 
|---|
| ownerstring RequeridoThe account owner of the repository. The name is not case sensitive. | 
| repostring RequeridoThe name of the repository without the  | 
| Nombre, Tipo, Descripción | 
|---|
| contentstring RequeridoThe new blob's content. | 
| encodingstringThe encoding used for  Valor predeterminado:  | 
Códigos de estado de respuesta HTTP para "Create a blob"
| status code | Descripción | 
|---|---|
| 201 | Created | 
| 403 | Forbidden | 
| 404 | Resource not found | 
| 409 | Conflict | 
| 422 | Validation failed | 
Ejemplos de código para "Create a blob"
Ejemplo de solicitud
curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs \
  -d '{"content":"Content of the blob","encoding":"utf-8"}'Response
Status: 201{
  "url": "https://HOSTNAME/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- contentas 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 pormenorizados:
- Tokens de acceso de usuario de la aplicación de GitHub
- Token de acceso a la instalación de la aplicación de GitHub
- Tokens de acceso personal específico
El token pormenorizado debe tener el siguiente conjunto de permisos:
- "Contents" repository permissions (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"
| Nombre, Tipo, Descripción | 
|---|
| acceptstringSetting to  | 
| Nombre, Tipo, Descripción | 
|---|
| ownerstring RequeridoThe account owner of the repository. The name is not case sensitive. | 
| repostring RequeridoThe name of the repository without the  | 
| file_shastring Requerido | 
Códigos de estado de respuesta HTTP para "Get a blob"
| status code | Descripción | 
|---|---|
| 200 | OK | 
| 403 | Forbidden | 
| 404 | Resource not found | 
| 409 | Conflict | 
| 422 | Validation failed, or the endpoint has been spammed. | 
Ejemplos de código para "Get a blob"
Ejemplo de solicitud
curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs/FILE_SHAResponse
Status: 200{
  "content": "Q29udGVudCBvZiB0aGUgYmxvYg==",
  "encoding": "base64",
  "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "size": 19,
  "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg=="
}