【问题标题】:Google OAuth API - Python client import errorGoogle OAuth API - Python 客户端导入错误
【发布时间】:2014-06-18 05:38:07
【问题描述】:

我正在尝试让 Google 的 OAuth 通过 Python 的 API 客户端工作。

https://developers.google.com/api-client-library/python/start/installation

我使用了easy_setup 来安装它,并且我的apiclient 包与我的Python 客户端位于同一目录中。但是,当我运行我的客户端时,我得到了

from apiclient.discovery import build

from apiclient.errors import HttpError
ImportError: No module named errors

好像在apiclient目录下找不到errors.py类,但明明是有的。

我的客户端中包含软件包:

from apiclient.discovery import build
from apiclient.http import MediaFileUpload
import httplib2
import mimetypes
from oauth2client.client import OAuth2WebServerFlow
from oauth2client.file import Storage as FileStorage
import oauth2client.tools

有没有办法解决这个问题?

谢谢。

【问题讨论】:

  • 你能做到“从 apiclient 导入错误”吗?无论你在哪里必须使用 HttpError,都使用 errors.HttpError,它是这样工作的吗?否则,如果你有它但它没有导入,那就太奇怪了 - 你一定缺少一些微不足道的东西。在此处查看类似的问题和答案 - stackoverflow.com/questions/18267749/…

标签: python google-api google-oauth


【解决方案1】:

这听起来像是路径问题。

从操作系统的命令行,启动python 二进制文件:

user@/usr/bin python

你应该看到这样的东西:

Python 2.7.6(默认,2014 年 9 月 9 日,15:04:36)

[GCC 4.2.1 兼容 Apple LLVM 6.0 (clang-600.0.39)] 在 darwin 上

输入“帮助”、“版权”、“信用”或“许可”以了解更多信息。

接下来导入sys,然后打印sys.path:

import sys

sys.path

sys.path 将显示 python 当前知道的所有位置以查找库。确认 api 客户端存在于其中一个路径中,并且该路径上的权限正确。

分享上述步骤的输出屏幕截图将有助于进一步诊断您的问题。

【讨论】:

    【解决方案2】:

    这是一个非常古老的问题,但我只是想出了如何获取 HttpError 类,所以我想我会包括我是如何做到的。

    from apiclient import discovery, http
    
    def execute_query(api_query):
        try:
            results = api_query.execute()
        except http.HttpError:
            return None
    

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 1970-01-01
      • 2012-12-01
      • 2013-11-11
      • 2016-03-15
      • 2023-04-11
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多