Google OAuth API - Python客户端导入错误

8 投票
2 回答
3478 浏览
提问于 2025-04-18 05:01

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

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

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

谢谢。

2 个回答

0

这是一个非常老的问题,但我刚刚弄明白了如何获取HttpError类,所以我想把我的方法分享出来。

from apiclient import discovery, http

def execute_query(api_query):
    try:
        results = api_query.execute()
    except http.HttpError:
        return None
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 系统上

输入 "help", "copyright", "credits" 或 "license" 获取更多信息。

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

import sys

sys.path

sys.path 会显示 Python 目前知道的所有查找库的位置。确认你的 API 客户端是否在这些路径中的某一个,并且检查一下这些路径的权限是否正确。

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

撰写回答