httplib2.ServerNotFoundError。无法找到服务器www.googleapis.com。

问题描述 投票:2回答:1

当我试着用google-api's(googleapiclient,oauth2client)来获取gmail的详细信息时,我得到了以下错误。

 File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/google_api_python_client-1.7.8-py2.7.egg/googleapiclient/_helpers.py", line 130, in positional_wrapper

  File "/usr/local/lib/python2.7/site-packages/google_api_python_client-1.7.8-py2.7.egg/googleapiclient/discovery.py", line 224, in build

  File "/usr/local/lib/python2.7/site-packages/google_api_python_client-1.7.8-py2.7.egg/googleapiclient/discovery.py", line 274, in _retrieve_discovery_doc
  File "/usr/local/lib/python2.7/site-packages/httplib2-0.12.1-py2.7.egg/httplib2/__init__.py", line 2135, in request
    cachekey,
  File "/usr/local/lib/python2.7/site-packages/httplib2-0.12.1-py2.7.egg/httplib2/__init__.py", line 1796, in _request
    conn, request_uri, method, body, headers
  File "/usr/local/lib/python2.7/site-packages/httplib2-0.12.1-py2.7.egg/httplib2/__init__.py", line 1707, in _conn_request

    raise ServerNotFoundError("Unable to find the server at %s" % conn.host)
httplib2.ServerNotFoundError: Unable to find the server at www.googleapis.com

但它在我的电脑上工作正常,但不是从远程位置。

代码。

from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

credentials = ServiceAccountCredentials.from_json_keyfile_name(
            "quickstart-1551349397232-e8bcb3368ae1.json", scopes=
['https://www.googleapis.com/auth/admin.directory.group',                                                                  'https://www.googleapis.com/auth/admin.directory.user',                                                                  'https://www.googleapis.com/auth/admin.directory.domain',                                                                  'https://www.googleapis.com/auth/gmail.readonly'])

delegated_credentials = credentials.create_delegated('[email protected]')

DIRECOTORY = build('admin', 'directory_v1', credentials=delegated_credentials)

try:
    results = DIRECOTORY.users().list(customer='my_customer').execute()   
    users = results.get('users', [])    
    res = []    
    for info in users:         
    print(info)          
    res.append(info.get("primaryEmail"))
    print(res)
except Exception as e:
    print(e)

任何帮助将是非常感激的。

先谢谢你了。

python-2.7 gmail-api google-api-client
1个回答
1
投票

我也有同样的问题,我找了很多地方才解决,原来是我这里出了问题。

I don't know from where there was podman installed instead of docker and that caused the problem.

我建议你检查一下你的docker版本,确保服务器上运行的是最新的版本,否则,这个库是可以正常运行的! 如果你还面临这个问题,请告诉我,想深挖一下!

© www.soinside.com 2019 - 2024. All rights reserved.