排解驗證和授權問題

本頁說明您在驗證與授權時可能會遇到的一些常見問題。

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 授權伺服器提供的存取權杖過期或遭到撤銷時,就會發生這項錯誤。如要瞭解潛在原因和修正方式,請參閱「更新權杖到期時間」。

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 上發生這個錯誤。如要解決這個問題,請在 pip install 指令中加入 --ignore-installed six 旗標。