Переименуйте ярлык на Github с помощью curl - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь переименовать ярлык на Github с помощью REST API.Я могу прочитать этикетку

curl https://api.github.com/repos/adamschmideg/label-cleanup/labels/question

, и она возвращает хороший JSON.

Однако, когда я пытаюсь обновить его после документа на Обновление метки проблемы Github и выполнить это

curl \
    --request PATCH \
    https://api.github.com/repos/adamschmideg/label-cleanup/labels/question \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{\"name\": \"just-a-question\"}"

, он возвращает сообщение «Не найдено».Он возвращает то же сообщение для несуществующей метки.

Что я не так делаю?

1 Ответ

0 голосов
/ 13 декабря 2018

Похоже, что это публичный репозиторий , что означает, что любой может видеть его метки.

Однако обновление метки ограничено.Вам нужно аутентифицировать , например, добавив -u "username" к вашему запросу на базовую аутентификацию:

curl \
    -u "adamschmideg" \  # <-- Right here
    --request PATCH \
    https://api.github.com/repos/adamschmideg/label-cleanup/labels/question \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{\"name\": \"just-a-question\"}"

Если вы используете двухфакторную аутентификацию и хотите использовать базовую аутентификацию какздесь показано, что вам нужно включить одноразовый код в специальный заголовок X-GitHub-OTP .

GitHub также поддерживает токены OAuth2, отправленные в заголовках, или в качестве параметров URL, которыене требует каких-либо специальных шагов и рекомендуется, если вы используете 2FA.

Причина в том, что вы получаете "Не найдено" вместо чего-то вроде "Пожалуйста, подтвердите подлинность", заключается в том, что

В некоторых местах запросы, требующие аутентификации, будут возвращать 404 Not Found вместо 403 Forbidden.Это сделано для предотвращения случайной утечки частных репозиториев неавторизованным пользователям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...