# مشكلة في الوصول إلى واجهات برمجة تطبيقات Discourse من تطبيق React

**URL:** https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311
**Category:** Development
**Tags:** rest-api
**Created:** [24 مارس 2023، 5:23م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311 "2023-03-24T17:23:05Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![fahadaslam98](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fahadaslam98/32/299547_2.png) [@fahadaslam98](https://meta.discourse.org/u/fahadaslam98)
#### Post date: [24 مارس 2023، 5:23م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/1 "2023-03-24T17:23:05Z")

</div>

تم حظر الوصول إلى fetch في ‘[https://boostfloral.discourse.group/categories.json؟](https://boostfloral.discourse.group/categories.json%D8%9F)’ من المصدر ‘[http://localhost:3000](http://localhost:3000)’ بواسطة سياسة CORS: لا تسمح ترويسة الطلب API-key بواسطة Access-Control-Allow-Headers في استجابة ما قبل الرحلة.

أواجه المشكلة المذكورة أعلاه عند محاولة استدعاء واجهات برمجة تطبيقات discourse. لقد أضفت بالفعل شهادة SSL إلى خوادمي. أنا أضيف خيارات CORS الموجودة في لوحة الإدارة الخاصة بي ولكنني ما زلت أواجه هذه المشكلة.

هل واجه أي شخص شيئًا كهذا ويمكنه مساعدتي في إيجاد حل؟

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [24 مارس 2023، 5:43م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/2 "2023-03-24T17:43:32Z")

</div>

> [@fahadaslam98](#):
>
> حقل API-key غير مسموح به

هل هو مفتاح واجهة برمجة تطبيقات المستخدم؟ إذا لم أكن مخطئًا، فيجب أن يكون `User-Api-Key`.

---

<div class="post-metadata">

### Author: ![fahadaslam98](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fahadaslam98/32/299547_2.png) [@fahadaslam98](https://meta.discourse.org/u/fahadaslam98)
#### Post date: [24 مارس 2023، 6:03م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/4 "2023-03-24T18:03:19Z")

</div>

الآن أتلقى الاستجابة التالية.

تم حظر الوصول إلى fetch في ‘[https://boostfloral.discourse.group/latest.json?order=default&ascending=false’](https://boostfloral.discourse.group/latest.json?order=default&ascending=false%E2%80%99) من المصدر ‘[http://localhost:3000](http://localhost:3000/)’ بواسطة سياسة CORS: رأس الطلب api-username غير مسموح به بواسطة Access-Control-Allow-Headers في استجابة ما قبل الرحلة.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [24 مارس 2023، 6:38م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/5 "2023-03-24T18:38:54Z")

</div>

إذا كنت تحاول استهلاك [واجهة برمجة تطبيقات المسؤول](https://meta.discourse.org/t/discourse-rest-api-documentation/22706) (على عكس [واجهة برمجة تطبيقات المستخدم](https://meta.discourse.org/t/user-api-keys-specification/48536))، فإن حقول الرأس المطلوبة هي `Api-Key` و `Api-Username`.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [8 أبريل 2023، 11:44م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/6 "2023-04-08T23:44:11Z")

</div>

> [@fahadaslam98](#):
>
> حقل طلب الرأس api-username غير مسموح به بواسطة Access-Control-Allow-Headers في استجابة preflight.

أعتقد أنه بالنسبة لعملاء JavaScript العموميين، لا يُسمح بواجهة برمجة تطبيقات المسؤول (للأسف، هذا يعقد كل شيء، أعرف!) ولكن سيتعين عليك استخدام [User API keys specification](https://meta.discourse.org/t/user-api-keys-specification/48536) بدلاً من ذلك.

بالنسبة لي، ما زلت أحاول معرفة كيفية القيام بذلك أيضًا. أريد فقط سحب استجابة .json متاحة للجمهور.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [9 أبريل 2023، 7:03ص UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/7 "2023-04-09T07:03:18Z")

</div>

> [@القاسم شرف الدين، مشاركة:6، موضوع:259311، اسم المستخدم:gassim](#):
>
> أريد فقط سحب استجابة .json متاحة للعامة.

إذا كانت متاحة للعامة، فيجب أن يكون تكوين CORS كافياً ولا تحتاج إلى الاهتمام بمفاتيح API على الإطلاق.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [10 أبريل 2023، 10:35م UTC](https://meta.discourse.org/t/having-issue-accessing-the-discourse-apis-from-react-app/259311/8 "2023-04-10T22:35:21Z")

</div>

نعم، شكراً! تم حل هذه المشكلة بالنسبة لي هنا: [Using JavaScript fetch to get publicly available page from Discourse into an external site (Discourse API) - #2 by pfaffman](https://meta.discourse.org/t/using-javascript-fetch-to-get-publicly-available-page-from-discourse-into-an-external-site-discourse-api/261062/2)

@fahadaslam98 كما قال @RGJ، إذا تم تكوين CORS بشكل صحيح، فإن إزالة مفاتيح API من الرؤوس يجب أن تعمل، 👍
