Я создаю расширение Chrome, которое направлено на отправку информации (URL, заголовка и т. Д.) С текущей страницы пользователя на REST API с бэкэндом Rails. Вызов API работает, когда я тестирую его с почтальоном, но когда я отправляю данные через мое расширение, я получаю ошибку 422 (Unprocessable Entity)
.
Этот файл прослушивает щелчок в моем расширении:
function listenClick() {
const button = document.getElementById('send-data');
button.addEventListener('click', () => {
chrome.tabs.executeScript({
file: 'scripts/send-data.js'
});
})
}
listenClick();
Это файл send-data.js
:
function fetchData() {
title = document.querySelector('title').innerText;
const url = window.location.href;
return {
title: title,
url: url
}
}
function sendData(data){
const url = 'http://localhost:3000/api/v1/bookmarks';
fetch(url, {
method: 'POST',
headers: {
"Content-Type": "application/json",
"X-User-Email": "test@mail.com",
"X-User-Token": "asdfkljIOJDHalsdfkla"
},
body: JSON.stringify({
"title": `${data.title}`,
"url": `${data.url}`,
})
})
}
sendData(fetchData());
Ошибка возникает в строке, начинающейся с 'X-User-Email'
. Я использую гем 'simple_token_authentication'
для аутентификации пользователей, которые используют эти заголовки.
Может ли кто-нибудь помочь мне увидеть, что мне не хватает?