Я пытаюсь вызвать веб-API для продуктов в Magento из приложения React Native. После других вопросов и ответов по обмену стеками я получаю ответ 401. Я знаю, что звонок работает, потому что я могу сделать это через почтальона.
Обновление: так что я не решил, но обнаружил, что если я использую axios, запрос будет работать. Это похоже на проблему с fetch.
.htaccess mod_headers.c settings
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
Header set Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS"
приложение / и т.д. / env.php
'x-frame-options' => 'CROSS-ORIGIN'
Вызов API из React Native
fetch(
'http://localhost:8888/magento/rest/V1/products?searchCriteria[filter_groups][0][filters][0][field]=name&searchCriteria[filter_groups][0][filters][0][value]=product name',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authentication: 'Bearer fwynACCESS_TOKENbal9tfr'
}
}
)
.then((res) => {
if (res.status !== 200 && res.status !== 204)
reject({ message: 'There was an error with the products service' })
resolve(res.json())
})
.catch((err) => reject(err))
Сюда также входит веб-интеграция с именем «Клиенты», в которой все параметры API установлены как доступные.