أتساءل عما إذا كان @Falco أو أي شخص آخر قادرًا على المساعدة.
بدأت مؤخرًا في استخدام Patreon وقمت بإعداد خادم Discourse على Droplet من Digital Ocean. كما قمت بتثبيت إضافة discourse-patreon وأدخلت جميع المفاتيح وغيرها من البيانات تبعًا لهذا الدليل. أستطيع النقر على زر “تحديث بيانات Patreon ومزامنة المجموعات” في صفحة “الإضافات > Patreon > الفلاتر”، وهذا يعمل بشكل جيد. جميع مستويات الدعم متاحة وقد قمت بتعيين جميعها إلى مجموعات Discourse وما إلى ذلك.
كان كل شيء يبدو جيدًا، ثم تلقيت بريدًا إلكترونيًا من خوادم Patreon يخبرني:
“نكتب لإعلامكم بأن طلب POST الخاص بـ WebHook إلى https://discourse.martinbaileyphotography.com/patreon/webhook قد فشل. ونتيجة لذلك، قمنا بإيقاف إرسال المزيد من الأحداث إلى عنوان URL الخاص بكم.”
لقد جربت إعداد العميل باستخدام كل من API 1 كما هو موضح في هذا المنشور، و API 2 مع تغيير المفاتيح والأسرار وفقًا لذلك في كل مرة، كما جربت أعلى ثلاث أحداث ملغاة وأدنى ستة أحداث مع كلا الـ APIين، ولم أستطع العثور على أي تركيبة تعمل.
في سجلات Discourse الخاصة بي، وجدت رسالة الخطأ التالية:
(patreon) فشل المصادقة! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | تم اكتشاف CSRF
لقد سألت Digital Ocean، وهم يؤكدون أن خوادمهم لا تحظر طلبات POST ولا يمكنهم التفكير في أي سبب في نظامهم قد يمنع عمل هذا، لذا أنا في حيرة من أمري. لم أتمكن من العثور على أي معلومات مفيدة تساعدني في حل هذه المشكلة، لذا أكتب هنا (وفي منتدى Patreon) على أمل أن يثير هذا الأمر ذكرى لدى شخص ما. هل يمكن لأي شخص تقديم أي نصيحة حول كيفية إصلاح هذه المشكلة أو ما يجب التحقق منه لمواصلة استكشاف المشكلة وحلها؟
شكراً @Falco،
سأسألهم. لقد أخبروني بالفعل أنهم لا يقدمون الدعم لواجهة برمجة التطبيقات (API)، وهذا أمر مؤسف. لم أدرك أن Patreon شركة معيبة عندما بدأت هذا.
حسنًا، سأستخدم الخيارات المهملة. هل يجب أن أستخدم واجهة برمجة التطبيقات v1، وخطاف الويب (webhook) أيضًا؟ لقد جربت كليهما في الأصل ولكن لم أجرب منذ بضعة أسابيع الآن.
شكرًا لك، @Falco لقد قمت للتو بتبديل كل شيء مرة أخرى وتغيير جميع مفاتيح وأسرار واجهة برمجة التطبيقات.
لا يزال الاختبار اليدوي يُرجع رمز الحالة 200، لذا تصل الاستدعاءات. لاحظت أيضًا عند التحقق من إضافة Discourse / Patreon هذا الصباح أن البيانات كانت تُظهر أنها تمت مزامنتها قبل 5 ساعات. كنت في السرير قبل خمس ساعات، لذا يحدث شيء ما، لكنني ما زلت أرى رسالة “Webhook Paused” باللون الأحمر، ويؤدي زر “Resume” إلى تسجيل خطأ آخر.
على أي حال، سأطلب السجلات التفصيلية من فريق Patreon وأرى ما سيقولونه.
شكرًا مرة أخرى على مساعدتك.
لقد وجدت رداً من دعم Patreon في صندوق الوارد المزدحم الخاص بي، ويقولون ببساطة إنهم لا يستطيعون تقديم السجلات. أرى أيضاً أنهم أغلقوا منتدى دعم مجتمعهم.
ما زلت أرى هذه الأخطاء، على الرغم من أن بعض المزامنة تعمل، لأنني أرى رسائل تظهر أن النظام قد تمت مزامنته أثناء نومي، ولكن لم يتم بعد إضافة رعاة جدد تلقائياً عند قيامهم بالمساهمة. أعمل على تجاوز ذلك عن طريق إنشاء دعوات تتضمن الوصول إلى فئات مختلفة وفقاً لمستوى الراعي الجديد، ولكن يجب علي إرسال هذه يدوياً، لذا فهي ليست سلسة جداً. أنا قلق أيضاً من أن الأشخاص الذين يتوقفون عن المساهمة ربما لن يتم إزالتهم من مجتمع Discourse الخاص بي، وبينما لا يزال لدي عدد قليل من الرعاة ويمكنني التحقق، إذا بدأت في الحصول على مشاركة جيدة أثناء الترويج لبرنامج Patreon الخاص بي، فمن المحتمل أن أفقد الاتصال بهذا وتخرج الأمور عن نطاق السيطرة.
على أي حال، أعرف أن هذه ليست مشكلتك بحد ذاتها، لكنني مستاء حقاً لأن Patreon لا تقدم أي دعم لهذه التكاملات، على الرغم من استخدامها في تسويقهم لجذب الأشخاص لبدء استخدام نظامهم.
إن دعم الـ webhook يجعل المزامنة تتفاعل مع التغييرات بشكل أسرع، لكن المكون الإضافي سيعمل بنسبة 100% بدونه. سنقوم بمزامنة كاملة كل 6 ساعات وسنلتقط أي رعاة جدد، بالإضافة إلى إزالة الوصول للرعاة الذين رحلوا. لذلك لا داعي للقلق بشأن مثل هذه الأمور.
على قدر ما هو مهم، تم إنشاء هذا المكون الإضافي بنسبة 100% بواسطة Discourse بدون دعم من Patreon، لذلك نحن قادرون على إبقائه يعمل طالما أن واجهة برمجة التطبيقات الخاصة بهم موجودة.