تنزيل سجل منشورات المستخدم عبر Discourse API؟

كما أشار جاي، يمكن استخدام طلب POST مصادق عليه إلى /export_csv/export_entity.json لإنشاء الأرشيف. للقيام بذلك، يجب استخدام مفتاح API عام لجميع المستخدمين. اضبط اسم المستخدم في الطلب على اسم المستخدم الذي تريد إنشاء الأرشيف له. يجب تزويد الطلب بمعامل entity. يجب تعيين معامل entity إلى user_archive. مع هذا النهج، سيتم إنشاء إشعار للمستخدم. بالنسبة لمعظم المستخدمين، سيتم أيضًا إرسال بريد إلكتروني يحتوي على رابط تحميل، لكنني لا أعتقد أنه يمكن الاعتماد على ذلك - فهذا يعتمد على كيفية تكوين المستخدم لتفضيلات البريد الإلكتروني لديه.

مثال على طلب curl لإنشاء الأرشيف. لقد استبدلت $api_key بمفتاح API عام لجميع المستخدمين في الطلب:

curl -X POST "http://localhost:3000/export_csv/export_entity.json" -H "Api-Username: Ben" -H "Api-Key: $api_key" -F "entity=user_archive"

أنا غير متأكد مما إذا كانت هناك أي طريقة تسمح لك بإنشاء الأرشيف بطريقة تتيح مشاركته دون الحاجة إلى أن يقوم المستخدم بالوصول إلى الإشعار والضغط على رابط التحميل. ربما يمكن تطوير استعلام في مستكشف البيانات يعيد المعلومات. يمكنك بعد ذلك تشغيل استعلام مستكشف البيانات عبر واجهة برمجة التطبيقات. العيب في هذا النهج هو أنه إذا كان هناك أكثر من 10,000 صف من البيانات التي يعيدها الاستعلام، فستحتاج إلى إجراء عدة طلبات للحصول على البيانات. لمزيد من التفاصيل حول نهج مستكشف البيانات، راجع: كيفية تشغيل استعلامات مستكشف البيانات باستخدام واجهة برمجة تطبيقات Discourse.