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

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

This app isn't verified

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

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.