هل يحدد reply_to عند إنشاء رسالة من خلال 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

3 إعجابات

مرحباً، اسمحوا لي بإعادة فتح هذا الموضوع. أنا أستخدم واجهة برمجة التطبيقات (API) حاليًا لتحويل نظام محادثة مخصص إلى Discourse، وأواجه صعوبة في الردود.

أستخدم واجهة برمجة التطبيقات /posts، مع المعلمة reply_to_post_number ولا يظهر المنشور كرد على الإطلاق. لقد تحققت من أن reply_to_post_number يتطابق مع post_number للمنشور أعلاه، دون جدوى.

لقد حاولت الهندسة العكسية لواجهة برمجة التطبيقات، وحاولت إضافة nested_post إلى الطلب، حيث كان هذا هو الاختلاف الرئيسي بين استدعائي والاستدعاء في الواجهة، ولكن النتيجة لا تزال كما هي…

لاحظ أن المنشور الذي تم إنشاؤه عبر واجهة برمجة التطبيقات يحتوي على reply_to_post_number مضبوط بشكل صحيح. إنه فقط لا يظهر على هذا النحو في الواجهة…

شكرًا على أي دليل!

إعجاب واحد (1)

حسنًا، لقد أنشأت حسابًا للتو لأنني واجهت نفس المشكلة ووجدت الحل!

كما قال برتراند؛ يمكنك تعيين reply_to_post_number طوال اليوم ولكن في واجهة المستخدم لا يتم عرضه كـ رد عادي. عندما حاولت إنشاء رد بنفس الطريقة ولكن باستخدام حساب المسؤول الخاص بي، فقد نجح الأمر! هذا يشير إلى أن الأمر يتعلق بالأذونات.

اكتشفت أنه إذا قمت بتغيير إعدادات الأمان للفئة التي ينتمي إليها المنشور، بحيث تمتلك مجموعة الجميع الافتراضية جميع الحقوق (وبالتالي حقوق الإنشاء التي لم يتم تحديدها افتراضيًا بالنسبة لي)، فإنها تعمل الآن! لست متأكدًا من سبب الحاجة إلى هذا الحق نظرًا لأن الإنشاء يعمل بالفعل (يمكنني إنشاء منشور)، وحق الرد تم تحديده بالفعل ولكن على أي حال… إنها تعمل :smiley:

إعجاب واحد (1)

مرحباً @greedNotGood @Bertrand_Gorge أنا أقوم ببناء مشروع أحتاج فيه إلى إضافة رد على منشور عبر واجهة برمجة تطبيقات 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, موجودًا في الاستجابة، ومع ذلك، إذا أرسلتها مع الطلب بقيمة عدد صحيح تشير إلى المنشور السابق، فإن الاستجابة لا تحتوي على هذا المفتاح على الإطلاق.

يبدو أن هذا غير موثق تمامًا، وهو ما أدركه جيدًا، ولكن أي مساعدة ستكون موضع تقدير. وثائق واجهة برمجة تطبيقات Discourse ليست مفيدة لأنها لم تُذكر هناك على الإطلاق.

شكراً

إعجاب واحد (1)

لقد حاولت الرد على منشور باستخدام واجهة برمجة التطبيقات (API) وقد نجح الأمر:


ومع ذلك، هناك بالفعل معلومات مفقودة في docs.discourse.org. :slight_smile:

إذا كنت على استعداد، يمكنك أيضًا المساهمة في هذه الوثائق: Contributing to the Discourse API documentation

إعجابَين (2)

الشيء الغريب هو أنني أستطيع القيام بذلك من insomnia أيضًا، أو أي طلب عادي، ولكن عند القيام بذلك من python (باستخدام requests فقط، وليس واجهة برمجة تطبيقات python)، لا يبدو أنه يعمل.

لاحظت للتو أن البيانات تبدو موجودة ولكنها لا تظهر في العرض الرئيسي.

حتى في الوضع الآمن (حسنًا ، فقط للتأكد …)؟

ماذا تُرجع https://your-discourse.com/posts/{id}.json (حيث {id} هو معرف المنشور الجديد)؟

هل هناك قيمة مفتاح \"reply_to_post_number\"؟

لا أعتقد أنني أستطيع المساعدة أكثر في هذا للأسف ولم أستخدم Python مطلقًا ، سأترك الخبراء الحقيقيين يحاولون مساعدتك :slight_smile:

ربما يمكن لصق البرنامج النصي الخاص بك أن يعطي بعض الأدلة؟

من الصعب معرفة ذلك من مثالك، ولكن إذا قمت بالرد على منشور وكان ردك هو المنشور التالي، فإننا نخفي معلومات الرد على المنشور في واجهة المستخدم.

4 إعجابات

Batman Facepalm GIF by WE tv

لو كان هناك تعبير أكبر عن خيبة الأمل، لكان مناسبًا هنا. هذه بالطبع هي المشكلة وانتهى بي الأمر بالاختبار على النوع الدقيق من المنشورات التي تقع بجوار هدف الرد الخاص بها. إنه منطقي تمامًا بالطبع، ولكنه ليس واضحًا لماذا يظهر أحيانًا ولا يظهر أحيانًا أخرى.

على أي حال، تم حل اللغز، شكرًا لكم أيها الزملاء. أقدر ذلك كثيرًا.

3 إعجابات

إذا كان ذلك يمكن أن يساعدك على الشعور بالتحسن، أعتقد أن العديد من الأشخاص الذين يعملون في Discourse لا يعرفون جميع ميزات البرنامج :grin: (على الأقل، هذا يجعلني أشعر بالتحسن :laughing:)

إعجابَين (2)

أوه، أفهم ذلك تمامًا. أدير شركة تقوم بصيانة ودعم مشروع كبير مفتوح المصدر. تأتي نقطة يصبح فيها المعرفة الجماعية هي الطريقة الوحيدة.

4 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 2301 يومًا. لم يعد يُسمح بالردود الجديدة.