Sets reply_to when creating a message through the API?

Hi. Is there a way to specify the message ID to which a new message responds when we create this last one through Discourse API?

I believe you should be able to use the key - reply_to_post_number in your POST request

http://docs.discourse.org/#tag/Posts%2Fpaths%2F~1posts%2Fpost

Здравствуйте, я позволяю себе возобновить эту тему. В данный момент я использую API для конвертации собственной системы обсуждений в Discourse и столкнулся с трудностями при работе с ответами.

Я использую API /posts с параметром reply_to_post_number, но ответ не отображается как таковой. Я проверил, что reply_to_post_number совпадает с post_number предыдущего поста, но это не помогло.

Я попытался провести реверс-инжиниринг API, добавил nested_post в запрос, так как это было основное различие между моим вызовом и вызовом через интерфейс, но результат остался прежним…

Обратите внимание, что пост, созданный через API, действительно имеет правильно установленное значение reply_to_post_number. Просто на интерфейсе он не отображается как ответ…

Спасибо за любые подсказки!

Отлично, я только что создал учётную запись, потому что столкнулся с той же проблемой и нашёл решение!

Как сказал Бертран: можно хоть весь день менять параметр reply_to_post_number, но в интерфейсе ответ не будет отображаться как обычный. Однако когда я попытался создать ответ таким же способом, но с моей учётной записью администратора, всё заработало! Это указывало на то, что проблема связана с правами доступа.

Я выяснил, что если изменить настройки безопасности категории, к которой относится пост, так чтобы у группы по умолчанию «Все» были все права (включая право «Создание», которое по умолчанию было снято у меня), то теперь всё работает! Не совсем понятно, зачем нужно это право, поскольку «Создание» уже работает (я могу создавать посты), а право «Ответ» уже было отмечено, но в любом случае… всё работает :smiley:

Привет, @greedNotGood @Bertrand_Gorge! Я разрабатываю проект, в котором нужно добавить ответ к сообщению через API Discourse. Я новичок в Discourse. Не могли бы вы помочь мне с запросом curl или предоставить документацию по этому вопросу? Буду благодарен за помощь.

Гарав Т

Привет, @Gaurav_Tewari! Документация находится здесь: Discourse API Docs

Примеры использования curl находятся в верхней части этой же страницы. Удачи!

Всем привет.

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

Я передаю reply_to_post_number одним из ключей в теле запроса к /posts.json, со значением, взятым из post_number другого поста, но это не даёт никакого эффекта. Настройки безопасности категории полностью разрешены для всех пользователей.

Интересно, что ответ меняется в зависимости от того, использую ли я reply_to_post_number в запросе на создание поста или нет. Если я не отправляю его с запросом, в ответе будет присутствовать 'reply_to_post_number': None, однако, если я отправляю его с запросом, указывая целочисленное значение, соответствующее предыдущему посту, в ответе этот ключ отсутствует вовсе.

Это кажется совершенно не задокументированным, что я прекрасно понимаю, но любая помощь будет очень кстати. Документация API Discourse не помогает, так как там об этом вообще ничего не сказано.

спасибо

Я попытался ответить на пост через API, и это сработало:


Однако в документации на docs.discourse.org действительно отсутствует некоторая информация. :slight_smile:

Если вы готовы, вы также можете внести свой вклад в эту документацию: Contributing to the Discourse API documentation

Странно, что я могу сделать это из Insomnia или любого обычного запроса, но при выполнении из Python (просто используя requests, а не Python API) это, похоже, не работает.

Я только что заметил, что данные вроде бы есть, но они не отображаются в основном представлении.

Даже в безопасном режиме (на всякий случай…)?

Что возвращает https://your-discourse.com/posts/{id}.json (где {id} — ID нового поста)?

Есть ли там ключ со значением "reply_to_post_number"?

К сожалению, я думаю, что не смогу помочь дальше, да и я никогда не использовал Python. Я предоставлю настоящим знатокам возможность попробовать вам помочь :slight_smile:

Возможно, если вы вставите свой скрипт, это даст какую-то подсказку?

По вашему примеру трудно сказать, так ли это, но если вы отвечаете на пост и ваш ответ становится следующим постом, мы скрываем в интерфейсе информацию «ответить на пост».

Batman Facepalm GIF by WE tv

Если бы было ещё более нелепое лицо, оно бы сюда вписалось. Конечно, это и есть проблема: я просто протестировал именно тот тип поста, который находится рядом с ответом на него. Это, конечно, имеет смысл, но неочевидно, почему иногда это отображается, а иногда нет.

Тем не менее загадка решена, спасибо вам, ребята. Очень признателен.

Если это поможет тебе почувствовать себя лучше, я думаю, что многие люди, работающие в Discourse, не знают всех функций этого программного обеспечения :grin: (по крайней мере, это помогает чувствовать себя лучше мне :laughing:)

О, я вас прекрасно понимаю. Я руководлю компанией, которая поддерживает и развивает крупный проект с открытым исходным кодом. Приходит момент, когда только коллективные знания могут помочь.