Я хочу получить все темы по тегу. Я отправляю GET-запрос по адресу https://discourse-url/tag/kind:feature.json. Но получаю ошибку: «Вы не имеете права просматривать запрошенный ресурс. Имя пользователя API или ключ недействительны». При этом мой API-key и API-username верны. В чём может быть проблема?
Чтобы подтвердить: вы можете использовать тот же заголовок для запроса, например, /admin/users.json? (Я думаю, что это административный маршрут, но вы можете проверить это в веб-браузере)
Получаю ошибку 404 для этого URL. Я могу получить любой топик, отправив запрос на /t/topic-id.json, но не могу успешно выполнить другие GET-запросы. В чём может быть проблема?
Можете получить http://example.com/admin/dashboard.json? Я уверен, что эта ссылка должна работать.
Не получается. Та же ошибка 404.
Тогда вы передаёте учётные данные неправильно. Вы можете поискать примеры того, как передавать их в заголовке.
Но я только что протестировал этот вариант:
DISCOURSE_API_KEY=$API_KEY
DISCOURSE_API_USER=$API_USER
curl -s -X GET --header "Api-Key: $DISCOURSE_API_KEY" --header "Api-Username: $DISCOURSE_API_USER" https://example.com/admin/dashboard.json
Я передаю учетные данные правильно. Я проверил это, попытавшись получить внутренний топик по id, что невозможно без корректных учетных данных. Однако, похоже, что единственный рабочий запрос, который я могу выполнить, — это запрос к discourse-url/t/tid.json. Любые другие запросы просто возвращают ошибку 403.