排解驗證和授權問題

本頁說明您可能會遇到的常見驗證和授權問題。

This app isn't verified

如果 OAuth 同意畫面顯示「這個應用程式未經驗證」警告,表示您的應用程式要求存取私密使用者資料的範圍。如果應用程式使用敏感範圍,就必須通過驗證程序,才能移除該警告和其他限制。在開發階段,您可以選取「進階」>「前往『{專案名稱}』(不安全)」,繼續略過這項警告。

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 中,如果 pip 安裝的 six 模組 (Python 程式庫的依附元件) 載入順序早於預設安裝的模組,就可能發生這項錯誤。如要修正這個問題,請將 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.

如果 pip 嘗試升級預先安裝的 six 套件,Mac OSX 就會發生這個錯誤。如要解決這個問題,請將 --ignore-installed six 旗標新增至 pip install 指令。