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

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

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

שגיאות JavaScript

הנה כמה שגיאות נפוצות ב-JavaScript.

Error: origin_mismatch

השגיאה הזו מופיעה בתהליך ההרשאה, אם המארח והיציאה שמשמשים להצגת דף האינטרנט לא תואמים למקור JavaScript מותר בפרויקט במסוף Google Cloud. ודאו שהגדרתם מקור JavaScript מורשה ושכתובת ה-URL בדפדפן תואמת לכתובת ה-URL המקורית.

idpiframe_initialization_failed: Failed to read the 'localStorage' property from 'Window'

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

idpiframe_initialization_failed: Not a valid origin for the client

השגיאה הזו מתקבלת כשהדומיין הרשום לא תואם לדומיין שמשמש לאירוח דף האינטרנט. ודאו שהמקור שרשמתם תואם לכתובת ה-URL בדפדפן.

שגיאות 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 כשהמערכת מנסה לשדרג את חבילת six שהותקנה מראש. כדי לעקוף את הבעיה, מוסיפים את הדגל --ignore-installed six לפקודה pip install.