Ryan_NR
(Ryan)
30 سبتمبر 2019، 2:34م
1
مرحبًا يا أصدقاء - أنا مستخدم مسؤول في مثيل Discourse الخاصة بنا - لكنني غير قادر على استعلام بعض نقاط النهاية.
أحيانًا أحصل على هذا:
وفي أحيان أخرى يُطلب مني: يجب أن تكون مسجّل الدخول للقيام بذلك
لقد تأكدت من أن مفتاح API الذي أستخدمه مرتبط بحساب المسؤول الخاص بي، وأن API_Username هو اسم مستخدمي - هل لديك أي نصيحة بخصوص هذا؟
حسبي أن المكالمة لا ترسل بيانات الاعتماد بشكل صحيح؟
blake
(Blake Erickson)
1 أكتوبر 2019، 1:14م
3
يمكنك تجربة تمرير بيانات اعتماد واجهة برمجة التطبيقات في رأس الطلب بدلاً من معلمات الاستعلام. يجب أن يكون هناك مثال في موضوع توثيق واجهة برمجة التطبيقات.
Ryan_NR
(Ryan)
1 أكتوبر 2019، 1:14م
4
قد يكون الأمر كذلك - لست متأكداً - الإعداد الذي لدي هو مجرد مجموعة Postman التي تم تنزيلها من هنا:
واجهة برمجة تطبيقات ديسكورس (Discourse API)
يرجى الاطلاع على موقع وثائق واجهة برمجة تطبيقات ديسكورس (Discourse API Documentation) للحصول على معلومات مفصلة:
https://docs.discourse.org
المصادقة (Authentication)
يجب أن تستخدم طلبات واجهة برمجة التطبيقات المصادقة المستندة إلى رأس HTTP (HTTP header). قم بتمرير مفتاح واجهة برمجة التطبيقات (Api-Key) واسم المستخدم لواجهة برمجة التطبيقات (Api-Username) كرؤوس HTTP. لا يتم دعم المصادقة عبر معلمات الاستعلام (query parameters) أو نص…
لقد قمت فقط بتغيير مفتاح API واسم المستخدم وعنوان URL الأساسي.
هل هذه المجموعة لم تعد صالحة؟
Ryan_NR
(Ryan)
1 أكتوبر 2019، 1:15م
5
شكرًا لك @blake ، سأجرب ذلك
Ryan_NR
(Ryan)
1 أكتوبر 2019، 1:21م
7
@blake - تمرير بيانات الاعتماد كرأس طلب يعيد نفس النتيجة:
{
"errors": [
"ليس مسموحًا لك بعرض المورد المطلوب."
],
"error_type": "invalid_access"
}
blake
(Blake Erickson)
1 أكتوبر 2019، 1:52م
8
تمكنت من جعل طلب API لأعضاء المجموعة يعمل على Meta باستخدام أمر curl هذا:
curl -i -sS -X GET "https://meta.discourse.org/groups/my-private-group/members.json" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: key" \
-H "Api-Username: username"
ربما يمكنك استخدام أمر النسخ كـ curl في Postman للمقارنة.