أردت فقط التحقق، هل هناك طريقة في Discourse لعرض إعلانات داخلية بناءً على موقع المستخدم الحالي؟ أفهم أن لدينا: House Ads in the official Ad Plugin جاهز لعرض الإعلانات، ولكن أود فقط معرفة ما إذا كانت هناك طريقة لتحديد موقع المستخدم الحالي عبر Discourse.
إذا لم تكن هناك طريقة في Discourse للقيام بذلك (مثل الحاجة إلى أداة طرف ثالث) ، فأنا أعلم أن لدينا عناوين IP للتسجيلات أيضًا، هل هناك طريقة لاستخدامها لتحديد موقع المستخدم؟
لقد حاولت إنشاء نص برمجي قصير بلغة بايثون لهذا الغرض، ولكنه يعيد لي صفحة ويب فقط وليس JSON. عندما أضفت .json إلى عنوان URL الخاص بـ GET، فإنه يعيد {} فقط. ومع ذلك، عندما أقوم بالطلب باستخدام معرف المستخدم (https://your-discourse.com/admin/users/{user_id}/ip-info.json?ip={user_ip}), يبدو أن معلومات المستخدم مع عنوان IP تظهر.
لقد حاولت حتى زيارة عنوان URL هذا من المتصفح، فقط لأحصل على رسالة Oops! That page doesn’t exist or is private. (عذرًا! هذه الصفحة غير موجودة أو خاصة).
للعلم، فإن منصة Discourse الخاصة بنا حاليًا على الإصدار المستقر (v3.1.1).
أردت فقط أن أسأل، هل أحتاج إلى ترخيص MaxMind لكي يعمل هذا؟ إذا لم يكن الأمر كذلك، فهل من الممكن أن يكون نقطة النهاية المقدمة غير صحيحة؟ أحصل على استجابة من /admin/users/{user_id}.json، ولكن لسبب ما لا أحصل على استجابة صحيحة من /admin/users/ip-info?ip={user_ip}. أحصل فقط على صفحة ويب فارغة من موقع Discourse الخاص بنا بتنسيق HTML.
بالإضافة إلى ذلك، هل هناك رابط لقائمة نقاط النهاية المفيدة التي توفرها Discourse مثل تلك التي شاركتها؟
هذا لأنه يعيد فقط محتوى https://your-discourse.com/admin/users/{user_id}.json. يتجاهل جزء ip-info، إنه ليس نقطة نهاية صالحة هنا.
ونعم، لم أفكر في ذلك ولكن نعم، أعتقد أنك ربما تحتاج إلى مفتاح Maxmind لإعادة الموقع.
لذا، لتلخيص:
إذا كنت تريد الحصول على عنوان IP للمستخدم، فأنت بحاجة إلى إجراء طلب GET (مع بيانات اعتماد المسؤول) إلى https://your-discourse.com/admin/users/{user_id}.json. سيعيد عنوان IP ضمن معلومات المستخدم الأخرى.
إذا كنت تريد تحديد موقع عنوان IP، فأنت بحاجة إلى مفتاح Maxmind (لإضافته في app.yml)، وإجراء طلب GET إلى نقطة النهاية هذه: https://your-discourse.com/admin/users/ip-info.json?ip={user_ip}.
شكرا لك @Canapin ، أعتقد أن هذا ما كنت أحتاجه. سأرى ما إذا كان بإمكاني الحصول على ترخيص MaxMind والمتابعة من هناك. سأقوم بتحديث هذا الموضوع إذا حصلت على ترخيص وأعدت المحاولة. شكرا!
لقد حصلت على ترخيص MaxMind مجاني وواجهة برمجة التطبيقات https://your-discourse.com/admin/users/ip-info.json?ip={user_ip} . تعمل بشكل رائع، شكراً لك!
لدي سؤال إضافي، بما أن هذا يتطلب معرف المستخدم للحصول على عنوان IP ثم استدعاء واجهة برمجة التطبيقات أعلاه، فماذا عن المستخدمين المجهولين؟ ماذا لو أردنا تقديم إعلانات لهم أيضاً، ولكن ليس لديهم معرف مستخدم؟ هل سيكون ذلك ممكناً، أم أن هذا مخصص فقط للمستخدمين المسجلين؟