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

안녕하세요, 이 스레드를 다시 여는 것을 허락해 주시겠습니까? 현재 API를 사용하여 사용자 정의 대화 시스템을 discourse로 변환하고 있는데, 답변(replies) 처리에서 어려움을 겪고 있습니다.

/posts API를 사용하고 reply_to_post_number 파라미터를 지정했지만, 해당 게시물이 답변으로 전혀 표시되지 않습니다. reply_to_post_number가 위 게시물의 post_number와 일치하는지 확인해 보았지만, 여전히 문제가 해결되지 않습니다.

API를 역공학으로 분석해 보고, 제 호출과 인터페이스의 호출 간의 주요 차이점이었던 nested_post를 요청에 추가해 보았지만, 결과는 여전히 동일합니다…

API를 통해 생성된 게시물의 reply_to_post_number는 올바르게 설정되어 있습니다. 단지 인터페이스에서 그렇게 표시되지 않을 뿐입니다…

어떤 단서라도 주시면 감사하겠습니다!

OK, 저도 같은 문제를 겪다가 해결 방법을 찾았어요! 그래서 계정을 만들었습니다.

Bertrand가 말한 대로, reply_to_post_number를 아무리 설정해도 UI에서는 일반 답글로 표시되지 않아요. 그런데 제가 같은 방식으로 답글을 만들되 관리자 계정으로 시도했을 때는 제대로 작동했어요! 이건 권한 문제와 관련이 있다는 걸 의미했죠.

所属分类의 보안 설정을 변경해 보았는데, 기본 Everyone 그룹에 모든 권한(기본적으로 체크되어 있지 않던 Create 권한 포함)을 부여하니 이제 작동합니다! Create 권한이 이미 작동하고(게시물을 만들 수 있으니까) Reply 권한도 이미 체크되어 있는데, 왜 이 권한이 필요한지 정확히 모르겠지만 어쨌든… 이제 작동합니다 :smiley:

안녕하세요 @greedNotGood @Berthand_Gorge
디스코urs API를 통해 게시물에 답글을 추가해야 하는 프로젝트를 진행 중입니다. 디스코urs는 처음 사용하는데, curl 요청 예시나 관련 문서를 알려주실 수 있을까요? 도움 주시면 감사하겠습니다.

Gaurav T

안녕하세요 @Gaurav_Tewari, 문서 링크는 여기 있습니다: Discourse API Docs

같은 페이지 상단에 curl 샘플이 있습니다. 좋은 결과 있으시길 바랍니다!

안녕하세요.

새로 생성한 게시글이 다른 게시글에 대한 답글로 표시되도록 시도하고 있지만, 위와 마찬가지로 여러 명이 시도해 봤듯이 잘 되지 않고 있습니다.

/posts.json 요청 페이로드의 키 중 하나로 reply_to_post_number를 보내고 있으며, 값은 다른 게시글의 post_number에서 가져온 것입니다. 하지만 아무런 효과가 없습니다. 카테고리 보안 설정은 모든 사용자에게 완전히 허용되어 있습니다.

흥미롭게도, 게시글 요청에 reply_to_post_number를 사용할 때와 사용하지 않을 때 응답이 달라집니다. 요청에 포함하지 않으면 응답에 'reply_to_post_number': None,이 존재하지만, 이전 게시글을 가리키는 정수 값을 포함하여 요청에 보내면 응답에 해당 키가 아예 존재하지 않습니다.

이것이 완전히 문서화되어 있지 않다는 점을 잘 알고 있지만, 도움이 되시면 감사하겠습니다. Discourse API 문서에는 이에 대해 전혀 언급되어 있지 않아 도움이 되지 않습니다.

감사합니다.

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:

스크립트를 붙여넣으시면 단서를 얻을 수 있을까요?

예시만으로는 이 상황이 해당하는지 판단하기 어렵지만, 게시글에 답글을 달고 그 답글이 바로 다음 게시글인 경우, UI에서 게시글 답글 정보를 숨깁니다.

Batman Facepalm GIF by WE tv

더 큰 얼굴 찡그림이 있었다면 여기에 딱 맞았을 겁니다. 물론 그게 문제였죠. 저는 마침 답글 대상 바로 옆에 있는 특정 유형의 게시글에서 테스트를 하게 되었습니다. 물론 완벽하게 말이 되는 상황이지만, 왜 가끔은 표시되고 가끔은 안 되는지 직관적으로 이해하기는 어렵습니다.

그래도 이제 의문은 풀렸습니다. 여러분, 감사합니다. 정말 감사드립니다.

그것이 조금이나마 위안이 된다면, 저는 디스코르스(Discourse)에서 일하는 많은 사람들이 소프트웨어의 모든 기능을 파악하지 못하고 있다고 생각합니다 :grin: (적어도 저에게는 위안이 됩니다 :laughing:)

아, 그 마음 충분히 이해합니다. 저는 대규모 오픈소스 프로젝트를 유지보수하고 지원하는 회사를 운영하고 있거든요. 결국 집단 지식이 유일한 해결책이 되는 시점이 오기 마련이죠.