排查身份验证和授权问题

本页面介绍了您可能会遇到的关于身份验证和授权的一些常见问题。

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 授权服务器的访问令牌已过期或被撤消时,就会出现此错误。如需了解潜在原因和解决方法,请参阅刷新令牌有效期

JavaScript 错误

以下是一些常见的 JavaScript 错误。

Error: origin_mismatch

如果用于提供网页的主机和端口与您的 Google Cloud 控制台项目上允许的 JavaScript 来源不匹配,授权流程中会出现此错误。请务必设置已获授权的 JavaScript 来源,并确保浏览器中的网址与来源网址匹配。

idpiframe_initialization_failed: Failed to read the 'localStorage' property from 'Window'

您的浏览器未启用第三方 Cookie 和数据存储功能时,就会出现此错误。Google 登录库需要这些选项。如需了解详情,请参阅第三方 Cookie 和数据存储

idpiframe_initialization_failed: Not a valid origin for the client

当注册的网域与用于托管网页的网域不匹配时,就会出现此错误。确保您注册的来源与浏览器中的网址匹配。

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 中的一个 bug 导致的。如需解决此问题,请升级到最新版本的 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 标志。