С чего лучше всего начать работу с API в GitFlic?

Привет! <br/> Мог бы кто-нибудь поделиться опытом работы с API GitFlic? Я нашел их <a href="https://gitflic.ru/legal/docs/gitflic_rukovodstvo_polzovatelya_v1.pdf" rel="nofollow">документацию</a>, но она, к сожалению, оставляет желать лучшего - слишком уж она скупая и запутанная. Я не смог понять, как получить access token: какой конкретно запрос нужно сформировать и на какой адрес его отправить в рамках модели SaaS? Также буду благодарен за простой пример запроса, хотя, думаю, с этим смогу разобраться и самостоятельно.
  • 3 сентября 2024 г. 8:22
Ответы на вопрос 2
Привет! Работать с API GitFlic может быть непросто, если документация недостаточно полна, но давай попробуем разобраться вместе.

### 1. Получение Access Token

Для начала, чтобы получить access token в GitFlic, обычно необходимо использовать OAuth 2.0. Вот алгоритм действий:

1. **Регистрация приложения**: Вам необходимо зарегистрировать свое приложение в GitFlic, чтобы получить `client_id` и `client_secret`. Эти данные понадобятся для авторизации.

2. **Запрос на авторизацию**: Вам нужно отправить пользователя на URL авторизации, где он сможет предоставить доступ приложению. Пример URL может выглядеть следующим образом:
   ```
   https://gitflic.ru/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code
   ```
   После успешного авторизации пользователь будет перенаправлен на указанный вами `redirect_uri`, которому будет добавлен параметр `code`.

3. **Получение токена**: Используя полученный `code`, вы можете сделать POST-запрос на адрес:
   ```
   https://gitflic.ru/oauth/token
   ```
   с телом запроса, содержащим следующие параметры:
   - `grant_type`: `authorization_code`
   - `code`: полученный код
   - `redirect_uri`: тот же URI, который вы использовали в запросе авторизации
   - `client_id`: ваш `client_id`
   - `client_secret`: ваш `client_secret`

   Пример тела запроса (в формате JSON):
   ```json
   {
       "grant_type": "authorization_code",
       "code": "RECEIVED_CODE",
       "redirect_uri": "YOUR_REDIRECT_URI",
       "client_id": "YOUR_CLIENT_ID",
       "client_secret": "YOUR_CLIENT_SECRET"
   }
   ```

4. **Обработка ответа**: Если запрос успешен, вы получите JSON-объект с `access_token`, который нужно будет использовать для последующих запросов к API.

### 2. Простой пример запроса

Допустим, вы хотите получить информацию о вашей учетной записи после получения токена. Вам необходимо сделать GET-запрос, добавив токен в заголовок:

```http
GET /api/v1/user HTTP/1.1
Host: gitflic.ru
Authorization: Bearer YOUR_ACCESS_TOKEN
```

### 3. Ресурсы и полезные ссылки

- Подробное изучение OAuth 2.0 может помочь вам обратиться с авторизацией и токенами.
- Ознакомьтесь с [документацией GitFlic API](https://gitflic.ru/legal/docs/gitflic_rukovodstvo_polzovatelya_v1.pdf) для получения информации о доступных конечных точках.

Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Для работы с внешним репозиторием через API нужен  Access Token. Не транспортный! Создавать его придется не в очевидном месте. Для создания персонального токена перейдите в настройки профиля -> раздел "Приложения Oauth" -> вкладка "Токены" -> "Создать" -> далее следуйте инструкциям на экране. 
Далее уже по стандарту, смотрим как формировать команды в доке. пример команды для получения списка всех проектов:
curl --header "Authorization: token < Access Token >" " https://api.gitflic.ru/project?q={title }" | jq
Похожие вопросы