هل ترغب في استخدام IFTTT لإنشاء مواضيع ورسائل ومشاركات جديدة؟ لنبدأ!
باستخدام مكّانات الويب من خدمة IFTTT، يمكننا إجراء استدعاءات لـ Discourse API. ولتحقيق ذلك، يجب علينا أولاً إنشاء مفاتيح API. يمكنك إنشاء مفاتيح API من لوحة الإدارة في /admin/api/keys.
كما يمكننا أيضًا إنشاء مفاتيح API خاصة بالمستخدمين من خلال صفحات إدارة المستخدمين.
الآن، قم بإنشاء تطبيق جديد على IFTTT، ثم اختر خدمة المُحفِّز المفضلة لديك. في هذا المثال، سأستخدم خدمة Google Calendar.
ثم سأختار مُحفِّز أي حدث جديد مُضاف.
لربط المُحفِّز الخاص بك بـ Discourse، اختر مكّانات الويب كخدمة إجراء، وإجراء طلب ويب كإجراء.
الآن املأ حقول الإجراء على النحو التالي:
-
URL (مطلوب):
https://discourse.example.com/posts.json -
Method (مطلوب):
POST -
Content Type:
application/json -
Additional Headers:
Api-Key: [YOUR_API_KEY]
Api-Username: [API_USERNAME]
مهم: يجب إرسال بيانات اعتماد API كعناوين HTTP (
Api-KeyوApi-Username)، وليس كمعاملات استعلام في URL. لا تقبل Discourse مصادقة مفتاح API عبر معاملات الاستعلام في طلبات POST. تدعم خدمة مكّانات الويب في IFTTT العناوين المخصصة — استخدم حقل Additional Headers لإضافتها.
- Body:
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"category": 4,
"created_at": "{{CreatedAt}}"
}
في نص الجسم، يمكنك رؤية العديد من الحقول ذات الأقواس المزدوجة {{ }}. ستختلف هذه الحقول (مصادر المحتوى) مع كل مُحفِّز خدمة. اخترها من زر Ingredient أدناه.
يمكنك تعديل حقلي title و raw في جسم JSON كما تحتاج، مع النصوص المحيطة. ابحث عن معرف الفئة من عنوان URL /site.json لموقعك وضعه في حقل الفئة. الآن انقر على زر Create action لإنشاء التطبيق. بعد إنشاء التطبيق، قد يستغرق الأمر بعض الوقت ليصبح نشطًا.
تم بنجاح
. الآن سيتم إنشاء موضوع جديد في كل مرة يتم فيها إنشاء حدث جديد في تقويم Google الخاص بك
.
لإنشاء رد على موضوع موجود بدلاً من إنشاء موضوع جديد، يجب تغيير نص الجسم على النحو التالي (استخدام topic_id بدلاً من category)
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"topic_id": 4,
"created_at": "{{CreatedAt}}"
}
لإنشاء رسالة شخصية جديدة
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"target_usernames": "discourse1,discourse2",
"archetype": "private_message",
"created_at": "{{CreatedAt}}"
}
وبنفس هذه الطريقة، يمكنك إجراء طلبات Discourse API باستخدام أي خدمات إجراء أخرى من IFTTT.




