排解驗證和授權問題

本頁說明您可能遇到的一些驗證和授權問題。

This app isn't verified

如果 OAuth 同意畫面顯示「這個應用程式尚未驗證」警告訊息,則您的應用程式要求範圍可以提供敏感使用者資料的存取權。如果您的應用程式使用敏感範圍,應用程式就必須執行驗證程序,才能移除這類警告和其他限制。在開發階段,您可以依序選取「Advanced」>「Go to {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 套件時,就會發生這個錯誤。如要解決這個問題,請在 pip install 指令中加入 --ignore-installed six 旗標。