GitHub Gists: методы и примеры кода для программного взаимодействия

В GitHub gist — это простой способ поделиться с другими фрагментами кода, заметками или любым другим типом текста. Он похож на инструмент Pastebin или фрагмент кода. Списки могут быть общедоступными или частными, их можно создавать и управлять ими непосредственно на веб-сайте GitHub.

Вот несколько методов, которые вы можете использовать для программного взаимодействия с сутью с помощью API GitHub, а также примеры кода на Python:

  1. Создание списка.
    Чтобы создать новый список, вы можете использовать конечную точку API GitHub «Создать список». Вот пример использования библиотеки requestsPython:
import requests
url = 'https://api.github.com/gists'
headers = {'Authorization': 'token YOUR_ACCESS_TOKEN'}
files = {'file1.txt': {'content': 'This is the content of file1.txt.'}}
data = {'description': 'My Gist', 'public': True, 'files': files}
response = requests.post(url, headers=headers, json=data)
print(response.json())
  1. Список списков.
    Чтобы составить список списков для пользователя, вы можете использовать конечную точку «Список списков». Вот пример:
import requests
url = 'https://api.github.com/users/USERNAME/gists'
response = requests.get(url)
gists = response.json()
for gist in gists:
    print(gist['description'])
  1. Обновление списка.
    Чтобы обновить содержимое существующего списка, вы можете использовать конечную точку «Редактировать список». Вот пример:
import requests
gist_id = 'GIST_ID'
url = f'https://api.github.com/gists/{gist_id}'
headers = {'Authorization': 'token YOUR_ACCESS_TOKEN'}
files = {'file1.txt': {'content': 'Updated content of file1.txt.'}}
data = {'description': 'Updated Gist', 'files': files}
response = requests.patch(url, headers=headers, json=data)
print(response.json())
  1. Удаление сути:
    Чтобы удалить суть, вы можете использовать конечную точку «Удалить суть». Вот пример:
import requests
gist_id = 'GIST_ID'
url = f'https://api.github.com/gists/{gist_id}'
headers = {'Authorization': 'token YOUR_ACCESS_TOKEN'}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
    print('Gist deleted successfully.')
else:
    print('Failed to delete gist.')