Комментарий #13375582

Lovecraft’s cat name
@ShikiAPITestApp, и вправду, извиняюсь за дезинформацию. Попробовал указывать не айдишник отзыва, а топика и commentable_type с "review" заменил на "topic". Получилось оставить комментарий.
1190x598
Если делать по простому, то в консоли браузера вставляем такой запрос, предварительно разрешив вставку:
fetch("https://shikimori.io/api/comments", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "User-Agent": "Api Test",
    "Authorization": "Bearer СЮДА_ВСТАВЬТЕ_ВАШ_ACСESS_TOKEN"
  },
  body: JSON.stringify({
    comment: {
      body: "Текст вашего комментария",
      commentable_id: 629012,
      commentable_type: "Topic"
    },
    frontend: "false"
  })
})
В commentable_id указываем айдишник топика, привязанного к отзыву (не id самого отзыва). Сейчас там указан топик моего отзыва.
Ответы
ShikiAPITestApp
ShikiAPITestApp#
@Lovecraft’s cat name, есть способ без OAuth приложения. Надо найти authenticity_token в инспекторе и использовать его, но только лучше его поместить в body. Да и все параметры можно парсить из этого блока.

875x393

Вот скрипт (сгенерированный за 10 секунд, но я подчистил):

const formElement = document.querySelector('form.new_comment');
if (!formElement) {
  console.error('Форма комментария не найдена на странице.');
} else {
  const formData = new URLSearchParams();
  const tokenElement = formElement.querySelector('input[name="authenticity_token"]');
  const idElement = formElement.querySelector('input[name="comment[commentable_id]"]');
  const typeElement = formElement.querySelector('input[name="comment[commentable_type]"]');
  const frontendElement = formElement.querySelector('input[name="frontend"]');
  const offtopicElement = formElement.querySelector('input[name="comment[is_offtopic]"]');

  formData.append('authenticity_token', tokenElement ? tokenElement.value : '');
  formData.append('frontend', frontendElement ? frontendElement.value : 'true');
  formData.append('comment[commentable_id]', idElement ? idElement.value : '');
  formData.append('comment[commentable_type]', typeElement ? typeElement.value : 'Topic');
  formData.append('comment[is_offtopic]', offtopicElement ? offtopicElement.value : 'false');
  
  formData.append('comment[body]', 'ТЕКСТ КОММЕНТАРИЯ');

  fetch('/api/comments', {
    method: 'POST',
    body: formData,
    headers: {
      'Accept': 'application/json'
    }
  })
  .then(res => {
    if (!res.ok) {
      throw new Error('Статус ответа: ' + res.status);
    }
    return res.json();
  })
  .then(data => console.log('Ответ сервера:', data))
  .catch(err => console.error('Ошибка при отправке:', err));
}
Apc
Apc#
@Lovecraft’s cat name, @ShikiAPITestApp, :strange1: сложновато всё это будет переварить обычному пользователю (мне), но всё же лучше чем с голода подыхать:)
По сути, надо только самому разобраться где брать эти "ВАШ_ACСESS_TOKEN" и authenticity_token
Вариант скрипта для консольки браузера мне ближе, она всегда под рукой у любого ПКашника.
Ctrl+C, Ctrl+V, Enter и готово!
Java может кому-то ещё удобнее, у кого она установлена и привычна в использовании.
ShikiAPITestAppShikiAPITestAppна всякий случай тоже сделаю тебя соавтором, если не против:)
Apc
Apc#
КОЛЛЕКЦИЯ ЗАВЕРШЕНА
@Ballast1, @Apc, @Mr.Zxnm, @ShikiAPITestApp, @pirate-, @sosanie, @Lovecraft’s cat name, @Lovecraft’s cat name, @ShikiAPITestApp,
Короче, мы все дебилы превосходнейшей кончености...
Просто на форуме ставишь галку "Отзывы", копируешь прямо из 404 ссылки английское название и всё! Показывает сразу все отзывы, и под всеми можно читать и писать комментарии‼️
С рецензиями так же. Вся эта коллекция фуфло теперь)


К примеру безраб имел больше 50 отзывов вроде как и хз как их все восстановить.
Вот твои 50 безрабов: /forum?search=mushoku-tensei-isekai-ittara-honki-dasu
галки там справа со всего, кроме отзывов снять не забуть
назад
Твой комментарий
Вернуться к редактированию
Предпросмотр
Скрыть