Количество просмотров тем не обновляется при запросах к REST API

В последней версии 3.4.0.beta4-dev я заметил, что количество просмотров тем не обновляется при использовании запросов к REST API. Даже при добавлении заголовков, таких как Discourse-Visible или X-Requested-With, и даже более:

‘Discourse-Visible’: ‘true’,
‘Discourse-Logged-In’ : ‘true’,
‘Discourse-Present’: ‘true’,
‘Discourse-Track-View’: ‘true’,
‘Discourse-Track-View-Topic-Id’: 2214

Я не знаю, является ли это ошибкой или такое поведение запрограммировано. Однако в предыдущей версии такого не наблюдалось.

Буду очень благодарен, если вы сможете помочь мне решить эту проблему.

Большое спасибо.

Это происходит только со мной?

Я был бы очень признателен за любую помощь в решении этой проблемы. Я уже перепробовал несколько способов, но безрезультатно. Мне кажется, я установил все возможные заголовки, которые удалось найти в ходе реверс-инжиниринга, но представления всё равно не обновляются. Думаю, я упустил какой-то заголовок.

Кстати, я использую ключи API администратора вместо ключей API пользователя. Надеюсь, это не проблема.

Заранее большое спасибо.

Запросы к API по замыслу не отслеживают просмотры без условий.

Полагаю, вы хотите предложить новую функцию, чтобы разрешить отслеживание просмотров через наш API, перекатегоризировав запрос.

2 лайка

хм :thinking:
Спасибо @sam, но интересно, почему до версии 3.4.0.beta-4 это работало?

Также, если обновляется User::last_seen_at, почему не обновляются просмотры?

Когда вы говорите «функция», имеете ли вы в виду плагин, позволяющий отслеживать просмотры через API?

Спасибо ещё раз.

@david, не могли бы вы уточнить здесь? Не упущено ли какое-то изменение в трекере запросов?

Подсчет просмотров тем был перенесен на нашу систему «просмотров страниц браузера». Это означает, что они больше не включают никакие запросы к API или от поисковых роботов.

Заголовок DISCOURSE_VISIBLE относится только к устаревшей системе подсчета просмотров страниц.

3 лайка

Если вам нужно, чтобы API-трафик (мобильные приложения, интеграции и т. д.) учитывался как просмотры тем, я опубликовал небольшой плагин, который делает именно это:

:link: api-topic-views
https://github.com/gorfist/api-topic-views

Он подключается к TopicsController#show и учитывает допустимые API-запросы/запросы пользовательского API как просмотры тем, с возможностью настройки пользовательских заголовков, ограничения скорости, фильтрации краулеров и отслеживания с учётом пользователей.

Плагин ещё новый и пока не прошёл полную проверку в реальных условиях, но он должен хорошо работать в большинстве случаев для самостоятельно размещённых установок. Отзывы или pull-запросы очень приветствуются!

1 лайк

Огромное спасибо :+1: @Nima1
Я собираюсь это протестировать и оставлю вам свои отзывы.

1 лайк