عیب یابی مشکلات احراز هویت و مجوز

این صفحه برخی از مشکلات رایجی را که ممکن است در رابطه با احراز هویت و مجوز با آنها مواجه شوید، شرح می‌دهد.

This app isn't verified

اگر صفحه رضایت OAuth هشدار "این برنامه تأیید نشده است" را نشان می‌دهد، برنامه شما درخواست محدوده‌هایی را دارد که دسترسی به داده‌های حساس کاربر را فراهم می‌کنند. اگر برنامه شما از محدوده‌های حساس استفاده می‌کند، برنامه شما باید فرآیند تأیید را طی کند تا آن هشدار و سایر محدودیت‌ها را حذف کند. در طول مرحله توسعه، می‌توانید با انتخاب Advanced > Go to {Project Name} (unsafe) از این هشدار عبور کنید.

File not found error for credentials.json

هنگام اجرای نمونه کد، ممکن است پیام خطای «فایل یافت نشد» یا «چنین فایلی وجود ندارد» در مورد credentials.json دریافت کنید.

این خطا زمانی رخ می‌دهد که شما اعتبارنامه‌های برنامه دسکتاپ را تأیید نکرده‌اید. برای یادگیری نحوه ایجاد اعتبارنامه برای یک برنامه دسکتاپ، به ایجاد اعتبارنامه‌ها بروید.

پس از ایجاد اعتبارنامه‌ها، مطمئن شوید که فایل JSON دانلود شده با نام credentials.json ذخیره شده است. سپس فایل را به دایرکتوری کاری خود منتقل کنید.

Token has been expired or revoked

هنگام اجرای نمونه کد، ممکن است پیام خطای «توکن منقضی شده است» یا «توکن لغو شده است» دریافت کنید.

این خطا زمانی رخ می‌دهد که توکن دسترسی از سرور مجوز گوگل منقضی شده یا لغو شده باشد. برای اطلاعات بیشتر در مورد دلایل احتمالی و راه‌حل‌ها، به بخش «تاریخ انقضای توکن به‌روزرسانی» مراجعه کنید.

خطاهای پایتون

در ادامه به برخی از خطاهای رایج پایتون اشاره می‌کنیم.

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

این خطا می‌تواند در Mac OSX رخ دهد که در آن نصب پیش‌فرض six ماژول (یک وابستگی کتابخانه پایتون) قبل از ماژولی که 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 اضافه کنید.