هل يمكنني إرسال رابط خارجي إلى واجهة برمجة تطبيقات Discourse لتعيد لي المواضيع التي تشير إلى ذلك الرابط؟

هل سيكون من الممكن، على موقع خارجي غير موقع Discourse، وجود قسم “مواضيع المنتدى التي تناقش هذه الصفحة” يحتوي على روابط لمواضيع المنتدى ذات الصلة في Discourse؟

إذا كان بإمكان واجهة برمجة التطبيقات (API) أن تأخذ عنوان URL وتعيد قائمة بمعرفات/عناوين URL للمواضيع، فسيكون ذلك مثاليًا.

هل تعرف عن تضمين تعليقات Discourse على موقع ويب آخر عبر Javascript؟

ولكن إذا كنت تعتقد أن مواضيع متعددة ترتبط بصفحة ما، فقد تتمكن من استخدام جدول TopicLink للبحث عن المواضيع التي ترتبط بهذا الرابط (ربما باستخدام إضافة Data Explorer) وبعد ذلك ستحصل على معرفات الموضوع والمنشور حتى تتمكن من الربط بها.

لا أعتقد أن هناك نقطة نهاية للحصول عليها. أعتقد أن إضافة (plugin) يمكنها توفير واحدة. أيضًا، https://meta.discourse.org/t/discourse-github/99895 يفعل شيئًا مشابهًا إلى حد ما، لذا قد يساعد ذلك.

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

هل تعتقد أنه يمكنني إنشاء استعلام بمعامل URL وتشغيله عبر واجهة برمجة التطبيقات (API) باستخدام هذا؟ Run Data Explorer queries with the Discourse API.

إعجابَين (2)

نعم أعتقد ذلك، نوعاً ما.

جرب هذا، على سبيل المثال:

https://meta.discourse.org/search.json?q=https%3A%2F%2Fnews.bbc.co.uk

تنظيف النتائج في جافاسكريبت (JavaScript).

إذا كان بإمكان المستخدم المجهول (anon) استخدام البحث، فربما لا تحتاج إلى مفتاح واجهة برمجة التطبيقات (API key) حتى (يمكنك وضع هذا في جانب العميل).

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

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

إعجابَين (2)

رائع، شكرًا لك روبرت، هذا يعمل بالفعل، لقد جربته للتو على الخادم الخاص بي.

هذا يبدو مشابهًا جدًا لشيء كنت أحاول القيام به في وقت سابق. الخادم الآخر الخاص بي يستخدم PHP وتمكنت من معرفة كيفية استخدام أوامر Curl في وحدة PHP للوصول إلى واجهة برمجة التطبيقات (API) وإرجاع نتائج json إلى استدعاء ajax من العميل. هذا هو الموضوع

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

أوه! بالطبع. سيبحث البحث العادي عن عنوان URL! :person_facepalming:

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