استخدم قوالب Zapier Discourse في Zapier

تقدّم Zapier عددًا من قوالب Zap الرسمية لـ Discourse. تتيح لك هذه القوالب ربط Discourse بتطبيق خارجي بأقل قدر من الإعدادات. يمكنك العثور عليها هنا:

قم بالتمرير لأسفل في تلك الصفحة لعرض قائمة التكاملات المتاحة حاليًا.

تنقسم هذه القوالب إلى نوعين. في النوع الأول، يُعدّ Discourse تطبيق المُحرّك. تتيح لك هذه القوالب نشر منشورات Discourse على Slack و Mattermost و Discord ومجموعات Facebook وصفحات Facebook و Google Sheets وخدمات أخرى. أما في النوع الثاني من القوالب، فيُعدّ Discourse تطبيق الإجراء. تتيح لك هذه القوالب نشر منشورات من WordPress و Ghost إلى Discourse. كما يوجد قالب لنشر بثات Twitch المباشرة إلى Discourse.

إضافة بيانات اعتمادك الخاصة بـ Discourse على Zapier

لاستخدام أي من تكاملات Zapier مع Discourse، ستحتاج إلى إضافة الرابط الأساسي لموقعك الإلكتروني، بالإضافة إلى اسم المستخدم الخاص بك في Discourse ومفتاح API عند إعداد Zap لأول مرة.

في معظم الحالات، يجب إعداد Zap من قبل مسؤول الموقع باستخدام اسم المستخدم الخاص به في Discourse ومفتاح API. يمكن إنشاء مفاتيح API في Discourse من صفحة الإدارة / API / المفاتيح. لاحظ أن قيمة مفتاح API الكامل تُعرض مرة واحدة فقط عند إنشاء المفتاح لأول مرة، لذا تأكد من نسخه في ذلك الوقت.

بعد إضافة بيانات اعتمادك الخاصة بـ Discourse إلى Zapier، انقر على زر “متابعة”. يجب أن تظهر رسالة نجاح على الشاشة.

إعداد المنشورات التي سيقوم Zap باسترجاعها

عندما يكون Discourse هو تطبيق المُحرّك، فإن جميع المنشورات الجديدة على موقعك ستُحرّك Zap افتراضيًا. يمكنك تقييد Zap بحيث يُفعّل فقط للمنشورات التي تم إنشاؤها في موضوع محدد، أو فقط للمنشورات التي أنشأها مستخدم معين، وذلك في خطوة “تحرير الخيارات” الاختيارية.

استخدم قائمة “الموضوع” المنسدلة في الخطوة لتحديد موضوع معين يجب أن يُحرّك Zap. عند إعداد ذلك، سيتم استرجاع المنشورات التي تم إنشاؤها في الموضوع المحدد فقط بواسطة Zapier. استخدم قائمة “المؤلف” المنسدلة في الخطوة لتحديد اسم مستخدم لـ Zap. عند الإعداد، سيتم استرجاع المنشورات التي أنشأها هذا المستخدم فقط بواسطة Zapier.

إضافة خطوة تصفية للتحكم الدقيق في المنشورات

إذا لم تكن خطوة “تحرير الخيارات” كافية للتحكم في المنشورات التي تُستخدم لتفعيل Zap، فيمكنك إضافة خطوة تصفية اختيارية إلى Zap. مثال على ما يمكن فعله باستخدام التصفية هو اختيار استمرار Zap فقط إذا كان المنشور هو المنشور الأول في فئة معينة. لإضافة تصفية، انقر على أيقونة :heavy_plus_sign: الموجودة أسفل المُحرّك، ثم اختر “تصفية” من القائمة.

ستتيح لك التصفية تحديد الشروط التي يجب أن يستمر Zap بناءً عليها. المثال التالي سيستمر فقط إذا كان المنشور هو المنشور الأول في موضوع يقع ضمن فئة معرفها 2.

اختيار محتوى Discourse للنشر

عند نشر منشورات من Discourse إلى تطبيق آخر، ستتيح لك Zapier تحديد الجزء الذي تريد نشره من المنشور. يعتمد ما تختار نشره على التطبيق الذي تنشر إليه. سأستخدم مثال نشر منشور من Discourse إلى مجموعة على Facebook.

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

إنشاء رابط لمنشور أو موضوع

عند نشر منشور من Discourse إلى تطبيق خارجي، قد تحتاج إلى إنشاء رابط للمنشور أو لموضوعه باستخدام البيانات المسترجعة من Discourse. للقيام بذلك، أدخل الرابط الأساسي لموقعك في الحقل الذي تريد إضافة الرابط إليه، متبوعًا بـ /t/. على سبيل المثال، إذا كان رابط موقعك هو https://discourse.example.com، فأدخل https://discourse.example.com/t/ في النموذج.

الآن افتح القائمة المنسدلة للحقل واختر “Topic Slug” من القائمة.

ستضيف Zapier عنصرًا نائضًا لـ Topic Slug إلى الحقل.

الآن أدخل شرطة مائلة (/) بعد عنصر Topic Slug النائض، ثم اختر “Topic ID” من القائمة المنسدلة.

سيكون الناتج النهائي مشابهًا للصورة أدناه.

لإنشاء رابط لمنشورات محددة في موضوع، أضف شرطة مائلة أخرى (/) إلى الحقل ثم اختر “رقم المنشور” من القائمة.

لاحظ أن قيم أي عناصر نائضة تستخدمها عند إعداد Zap سيتم استبدالها بالقيم المرسلة من Discourse عند نشر منشور جديد.

إنشاء تكاملات بدون قالب

تم تصميم قوالب Zapier المدرجة في صفحة التكاملات الخاصة بهم لتسهيل ربط Discourse بتطبيق خارجي. إذا كنت ترغب في ربط Discourse بتطبيق لا يحتوي على قالب، أو إذا كنت ترغب في إنشاء Zap يستمع إلى Webhook الخاص بـ Discourse، أو يرسل طلب POST إلى واجهة برمجة تطبيقات Discourse، فيمكنك فعل ذلك باتباع أو تعديل أحد الأدلة المدرجة هنا:

17 إعجابًا

Getting the following on the add credentials zapier screen

We hit an error adding your new account

authentication failed: Error code 500: {“status”:500,“error”:“Internal Server Error”}

All details are correct.

Discourse reports successful use of the API key:

And the following error log:

Message

Draft::OutOfSequence (Draft::OutOfSequence)
/var/www/discourse/app/models/draft.rb:124:in `get'

Backtrace

/var/www/discourse/app/models/draft.rb:124:in `get'
/var/www/discourse/lib/topic_list_responder.rb:11:in `respond_with_list'
/var/www/discourse/app/controllers/list_controller.rb:152:in `block in generate_message_route'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/base.rb:195:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rescue.rb:22:in `process_action'

Env

HTTP HOSTS: discuss.bevry.me

Running 2.5.0.beta4 ( 811bc3544f )


That said, refreshing the add zap page that prompted the popup, results in the following:

So seems it was added successfully despite the error


However, selecting one of the added entries just prompts the auth flow again:

4 إعجابات

Are you using a Discourse All Users API Key and the username of an admin user on your site? I am not sure if that is what is required, but I setup a new Zapier Discourse account with admin API credentials last week. It worked for me then.

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

We ran across this issue as well.

It is now edit: was impossible to do anything (well, a lot) with a user with a negative ID, due to this change:

https://github.com/discourse/discourse/commit/d301af39bd3d0808fa3c0c40740539237058bee7#diff-f2feb5a7249b1fd4020b0074eac2152bR26

@tgxworld It would be cool if it was possible to disable this new behavior, and/or to whitelist accounts.

3 إعجابات

That was a bug and has been fixed in
https://github.com/discourse/discourse/commit/165fa13c9d45f486927a00d9c08bc307817a27cb

3 إعجابات

It was indeed something we ran into yesterday :laughing: .
Thanks!! (and I should have checked before making this post)

3 إعجابات

شكرًا جزيلاً، يعمل بشكل رائع!

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

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

لقد وجدت أخيرًا كيفية القيام بذلك:

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

لا يزال هذا يرمي خطأ 403 بالنسبة لي، وتحديدًا ضمن “إعداد المشغل” الخاص بـ Zap حيث من المفترض أن أحدد المؤلف:

لقد جربت كل من إعداد “جميع المستخدمين، عام” و “مستخدم واحد، عام” بالإضافة إلى إعداد “جميع المستخدمين، للقراءة فقط”. كلها تُرجع نفس الخطأ (403).

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