تحديد المشاكل في المصادقة والتفويض وحلّها

توضّح هذه الصفحة بعض المشاكل الشائعة التي قد تواجهك بشأن المصادقة والتفويض.

This app isn't verified

إذا عرضت شاشة موافقة OAuth التحذير "لم يتم التحقّق من هذا التطبيق"، يعني ذلك أنّ تطبيقك يطلب نطاقات تتيح الوصول إلى بيانات المستخدمين الحسّاسة. إذا كان تطبيقك يستخدم نطاقات حسّاسة، يجب أن يخضع لعملية التحقّق لإزالة هذا التحذير والقيود الأخرى. أثناء مرحلة التطوير، يمكنك تجاوز هذا التحذير من خلال النقر على خيارات متقدمة > الانتقال إلى {اسم المشروع} (غير آمن).

File not found error for credentials.json

عند تشغيل نموذج الرمز، قد تظهر لك رسالة الخطأ "لم يتم العثور على الملف" أو "لا يوجد ملف بهذا الاسم" بشأن ملف credentials.json.

يحدث هذا الخطأ عندما لا تكون قد منحت الإذن ببيانات اعتماد تطبيق سطح المكتب. للتعرّف على كيفية إنشاء بيانات اعتماد لتطبيق على الكمبيوتر، انتقِل إلى إنشاء بيانات اعتماد.

بعد إنشاء بيانات الاعتماد، تأكَّد من حفظ ملف JSON الذي تم تنزيله باسم credentials.json. بعد ذلك، انقل الملف إلى دليل العمل.

Token has been expired or revoked

عند تشغيل نموذج الرمز، قد تظهر لك رسالة الخطأ "انتهت صلاحية الرمز المميّز" أو "تم إبطال الرمز المميّز".

يحدث هذا الخطأ عندما تنتهي صلاحية رمز الدخول من خادم التفويض في Google أو يتم إبطاله. للحصول على معلومات حول الأسباب المحتملة والحلول، يُرجى الاطّلاع على انتهاء صلاحية الرمز المميّز لإعادة التحميل.

أخطاء Python

في ما يلي بعض أخطاء Python الشائعة.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

يمكن أن يحدث هذا الخطأ في نظام التشغيل Mac OSX عندما يتم تحميل عملية التثبيت التلقائية للوحدة six (وهي إحدى التبعيات لمكتبة Python) قبل عملية التثبيت التي أجراها pip. لإصلاح المشكلة، أضِف موقع تثبيت pip إلى PYTHONPATH متغيّر بيئة النظام:

  1. تحديد موقع تثبيت pip:

    pip show six | grep "Location:" | cut -d " " -f2
    

    دوِّن هذا الموقع الجغرافي لأنّك ستحتاج إليه في الخطوة التالية.

  2. أضِف السطر التالي إلى ملف ~/.bashrc، واستبدِل INSTALL_PATH بالموقع الجغرافي الذي تم تحديده في الخطوة السابقة:

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. أعِد تحميل ملف ~/.bashrc:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

يرجع سبب هذا الخطأ إلى خلل في httplib2. لحلّ هذه المشكلة، عليك الترقية إلى أحدث إصدار من httplib2 باتّباع الخطوات التالية:

pip install --upgrade httplib2

Cannot uninstall 'six'

عند تنفيذ الأمر pip install، قد يظهر لك الخطأ التالي:

Cannot uninstall 'six'. It is a distutils installed project and thus we
cannot accurately determine which files belong to it which would lead to
only a partial uninstall.

يحدث هذا الخطأ على نظام التشغيل Mac OSX عندما تحاول أداة pip ترقية الحزمة المثبَّتة مسبقًا.six لتجنُّب هذه المشكلة، أضِف العلامة --ignore-installed six إلى الأمر pip install.