Я использую библиотеку API сервера codeigniter rest.
Когда я вхожу HTTP: // локальный / RESTapi / API / вопрос X-API-KEY = XXX в Почтальоне с методом PUT
Я собираюсь:
{
«статус»: ложь,
«error»: «Неверный ключ API»}
Работает нормально с методом GET
Как я могу исправить эту проблему?
Я видел некоторые API, которые не смотрят на параметры GET, если вы делаете запрос POST или PUT для учетных данных или не согласны с тем, как они это делают.
Действительно, учетные данные должны идти в заголовках либо через заголовок Authorize, либо через пользовательский по многим причинам, таким как «не регистрировать учетные данные для доступа к журналам», но я отступаю.
В этом случае вы можете попробовать:
X-API-KEY=XXX
внутри тела PUT
просто чтобы увидеть, работает ли этоГлядя на эту библиотеку в частности (https://github.com/chriskacerguis/codeigniter-restserver), они поддерживают заголовок X-API-KEY
, Это должно быть то место, где вы помещаете ключ для ВСЕХ запросов — лучше не передавать их как параметры URL.
Вот пример командной строки, использующий curl из их проекта Github.
curl -X POST -H "X-API-KEY: some_key_here" http://example.com/books
В PHP вы можете использовать curl для установки заголовка следующим образом:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-KEY: XXX'));
Других решений пока нет …