Python google api



我正在尝试学习谷歌API,我的经验是使用Python,所以我尝试使用谷歌api python客户端访问谷歌的一些服务,但遇到构建服务对象的错误。

从 apiclient.discovery 导入构建模块没有问题:

>>> from apiclient.discovery import build
>>>

但是当需要构建服务对象时(如我下载的教程文件中所做的那样),有些东西崩溃了,我无法弄清楚出了什么问题!

>>> service = build('books','v1',developerKey=api_key)
WARNING:root:No module named locked_file
Traceback (most recent call last):
  File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery_cache/__init__.py", line 38, in autodetect
    from . import file_cache
  File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery_cache/file_cache.py", line 32, in <module>
ImportError: No module named locked_file
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.10-intel/egg/oauth2client/util.py", line 140, in positional_wrapper
  File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery.py", line 196, in build
  File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery.py", line 242, in _retrieve_discovery_doc
  File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1609, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1351, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1272, in _conn_request
    conn.connect()
  File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1036, in connect
    self.disable_ssl_certificate_validation, self.ca_certs)
  File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 80, in _ssl_wrap_socket
    cert_reqs=cert_reqs, ca_certs=ca_certs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 911, in wrap_socket
    ciphers=ciphers)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 520, in __init__
    self._context.load_verify_locations(ca_certs)
IOError: [Errno 13] Permission denied
>>>

以下是我如何走到这一步,以防它有帮助:我首先安装客户端库和它所依赖的所有其他模块,如下所述:Google API Python 安装。 我使用了pip(和必要的sudo),一切都很顺利。 我尝试通过使用 pip 的 --update 参数更新模块来修复我的错误,但这似乎不是问题所在,因为它们都说"要求已经是最新的:{此处的模块文档名称}",所以我不相信这是问题所在。

之后,我开始按照教程进行操作。 在本教程中,它给出了示例 API(这给我带来了麻烦)来与谷歌图书交互:谷歌图书示例。 如教程开头所述,我从谷歌获得了一个 API 开发人员密钥,我不认为这是问题所在,因为我什至没有执行服务对象。

我在谷歌上搜索了错误,但没有看到任何有类似问题的人,所以我希望这里的人们可以提供帮助!

谢谢

多功能钢

这里一样,oauth2client 2.0 中似乎没有锁定文件

  >>> from oauth2client.locked_file import LockedFile    
  Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  ImportError: No module named locked_file

我也在GitHub上发现了一个悬而未决的问题。这是一个google-api-python-client错误:https://github.com/google/google-api-python-client/issues/179

IOError: [Errno 13] Permission denied

看起来您在权限方面遇到了问题。制作chown 'username' 'python file'

chown -R 'username' 'directory name'

相关内容

  • 没有找到相关文章

最新更新