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

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

This app isn't verified

אם במסך ההסכמה של OAuth מוצגת האזהרה "האפליקציה הזו לא מאומתת", האפליקציה מבקשת היקפי הרשאות שמספקים גישה לנתוני משתמש רגישים. אם באפליקציה נעשה שימוש בהיקפים רגישים, האפליקציה צריכה לעבור את תהליך האימות כדי להסיר את האזהרה הזו והגבלות אחרות. במהלך שלב הפיתוח תוכלו להמשיך מעבר לאזהרה הזו באמצעות בחירה באפשרות Advanced > Go to {Project Name} (unsafe) (לא בטוח).

File not found error for credentials.json

כשמריצים את דוגמת הקוד, ייתכן שתוצג הודעת השגיאה 'הקובץ לא נמצא' או 'אין קובץ כזה' לגבי פרטי הכניסה.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.