مرحباً،
لقد بحثت هنا وفي وثائق واجهة برمجة التطبيقات، لكنني لم أجد أي طريقة للتأثير على البريد الإلكتروني الثانوي. حاجتي الأساسية هي حذفه، لكن قد نرغب في تغييره في وقت ما.
شكراً مقدماً،
مارك
مرحباً،
لقد بحثت هنا وفي وثائق واجهة برمجة التطبيقات، لكنني لم أجد أي طريقة للتأثير على البريد الإلكتروني الثانوي. حاجتي الأساسية هي حذفه، لكن قد نرغب في تغييره في وقت ما.
شكراً مقدماً،
مارك
أسهل طريقة لمعرفة كيفية إرسال طلب API لإزالة البريد الإلكتروني الثانوي هي إنشاء مستخدم تجريبي بعنوان بريد إلكتروني ثانوي، ثم إزالة عنوان البريد الإلكتروني عبر واجهة المستخدم مع فتح أداة فحص المتصفح في تبويب الشبكة (Network). وتُوضّح هذه الطريقة في: كيفية عكس هندسة واجهة برمجة تطبيقات Discourse.
يبدو أنك بحاجة إلى إرسال طلب DELETE إلى /u/<discourse_username>/preferences/email.json
يجب تمرير البريد الإلكتروني الذي ترغب في حذفه كبيانات نموذج. على سبيل المثال: email=simon%40foo.com
شكرًا لك يا سايمون،
في الواقع، كنتُ أعرف هذا، لكن لسبب ما، نقرتُ على “مفتاح الربط” الخطأ في ملف المستخدم، ولم تظهر لي خيار الحذف. بمجرد أن وجدت الخيار الصحيح، تفحصته ووجدت ما أحتاجه. جربته عبر Postman، وقد نجح!
إليك أمر curl المطلوب:
curl --location --request DELETE 'https://[discourse_url]/u/[discourse_user_name]/preferences/email.json?email=[address_to_delete]' \
--header 'Api-Key: [your_api_key]' \
--header 'Api-Username: system' \
--header 'Content-Type: application/json'
تحديث لإضافة: لا تنسَ ترميز عنوان البريد الإلكتروني باستخدام ترميز URL. سيرد الـ API بـ “success”: “OK”، لكنه لن يحذف العنوان فعليًا إذا لم تقم بذلك.
مارك