排解驗證和授權問題

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

This app isn't verified

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

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.

當 pip 嘗試升級預先安裝的 six 套件時,會在 Mac OSX 上發生這個錯誤。如要解決這個問題,請在 pip install 指令中加入旗標 --ignore-installed six