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

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

This app isn't verified

אם במסך ההסכמה של OAuth מוצגת האזהרה 'האפליקציה הזו לא אומתה', סימן שהאפליקציה מבקשת היקפי הרשאות שמאפשרים גישה לנתונים רגישים של משתמשים. אם האפליקציה שלכם משתמשת בהיקפי גישה רגישים, היא צריכה לעבור את תהליך האימות כדי להסיר את האזהרה הזו ומגבלות אחרות. במהלך שלב הפיתוח, אפשר להמשיך מעבר לאזהרה הזו על ידי בחירה באפשרות מתקדם > מעבר אל {שם הפרויקט} (לא בטוח).

File not found error for credentials.json

כשמריצים את דוגמת הקוד, יכול להיות שתופיע הודעת השגיאה 'הקובץ לא נמצא' או 'אין קובץ כזה' לגבי credentials.json.

השגיאה הזו מתרחשת כשלא אישרתם את פרטי הכניסה של אפליקציית שולחן העבודה. במאמר יצירת פרטי כניסה מוסבר איך ליצור פרטי כניסה לאפליקציה למחשב.

אחרי שיוצרים את פרטי הכניסה, מוודאים שקובץ ה-JSON שהורדתם נשמר בשם credentials.json. לאחר מכן מעבירים את הקובץ לספריית העבודה.

Token has been expired or revoked

כשמריצים את דוגמת הקוד, יכול להיות שתקבלו את הודעת השגיאה Token has been expired (פג התוקף של האסימון) או Token has been 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.