פתרון בעיות באימות ובהרשאות

בדף הזה מתוארות כמה בעיות נפוצות שעשויות להופיע בקשר לאימות והרשאה.

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

כשמריצים את דוגמת הקוד, יכול להיות שתופיע הודעת השגיאה "האסימון בוטל" או "האסימון בוטל".

השגיאה הזו מתקבלת כשפג התוקף של אסימון הגישה משרת ההרשאות של 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.