本页面介绍您可能遇到的关于身份验证和授权的一些常见问题。
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
系统环境变量中:
确定 pip 的安装位置:
pip show six | grep "Location:" | cut -d " " -f2
记下此位置,因为在下一步中会用到它。
将以下行添加到
~/.bashrc
文件中,并将INSTALL_PATH
替换为上一步确定的位置:export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
重新加载
~/.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.
在 Mac OSX 上,当 pip 尝试升级预安装的 six
软件包时,会发生此错误。如需解决此问题,请在 pip install
命令中添加 --ignore-installed six
标志。