لديّ عمليات تحميل تعمل (باستخدام نقطة النهاية /uploads). ولكن الطريقة الوحيدة التي يمكنني من خلالها منح أذونات مفتاح API لكي يعمل هذا هي منح جميع الأذونات، وهو ما يمثل مخاطرة أمنية واضحة.
ما أطلبه هو نطاق أذونات API يتضمن /uploads - إذا كان جزءًا من “نشر المشاركات” فسيكون ذلك جيدًا بالنسبة لي، ولكن قد تكون هناك أسباب لجعله شيئًا منفصلاً. إذا لم يكن ذلك ممكنًا (وربما فكرة جيدة بشكل عام)، فأود أن أكون قادرًا على تحديد نطاق مخصص يتضمن الأشياء المحددة التي أرغب في السماح بها.
حسنًا، ليس الجميع يفعل أشياء واضحة قبل النشر. آسف لذلك! يبدو أن شخصًا آخر على الأقل (أعتقد أنه يعرف أكثر مني في هذه المسألة بالذات) توقع أن نطاقًا يمكنه إنشاء منشور يمكنه أيضًا إنشاء التحميلات المصاحبة له.
ألا يبدو منطقيًا أنه إذا كان مفتاح واجهة برمجة التطبيقات يمكنه إنشاء منشور، فيمكنه أيضًا إنشاء تحميل، تمامًا مثل المستخدم الذي يمكنه إنشاء منشور يمكنه أيضًا إنشاء تحميل؟
هل هناك أي مواقف تكون فيها التحميلات مفيدة خارج سياق المنشور؟ على حد فهمي، تتم إزالة التحميلات تلقائيًا بشكل دوري إذا لم تكن مرتبطة بمنشورات، لذا فإن جعل نطاق مفتاح واجهة برمجة التطبيقات للتحميل وعدم إنشاء/تعديل المنشورات لا يبدو مفيدًا بشكل واضح.
كما ذكر @pfaffman، يبدو أنه من المنطقي أكثر أن تمنح نطاقات topics:write و posts:edit حق الوصول إلى التحميل إذا كان لدى المستخدم المرتبط إذن بالتحميل.
من المفترض أن يكون تحميل صورة رمزية جديدة شيئًا يمكن للمرء الاستفادة منه باستخدام نطاق واجهة برمجة التطبيقات users:update. (وهو أمر غير ممكن حاليًا؟)
مع المزيد من المسارات المتنوعة والمحتملة في المستقبل حيث يمكن استخدام التحميلات، فمن المنطقي إنشاء نطاق منفصل ووضع العبء على المستخدم لاختيار النطاق المناسب. من الواضح للمستخدمين متى ستتمكن مفتاح واجهة برمجة التطبيقات من التحميل ومتى لن تتمكن، ويتجنب المواقف التي قد تُفقد حيث يمكن استخدام التحميلات عند/عند توسيع واجهات برمجة التطبيقات.