我正在运行我在windows 10中的github上找到的apprtc源代码。但当我查看Cmd控制台时,我会出现这个错误。似乎缺少apiclient。我用pip install
安装了它,但我钢也出现了同样的错误。我也尝试过pip install --upgrade google-api-python-client
,但还是出现了同样的错误。
Traceback (most recent call last):
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 311, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineapprtc.py", line 23, in <module>
import analytics
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineanalytics.py", line 14, in <module>
import apiauth
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineapiauth.py", line 12, in <module>
from apiclient import discovery
ImportError: No module named apiclient
INFO 2020-07-11 00:59:21,395 module.py:865] default: "GET / HTTP/1.1" 500 -
ERROR 2020-07-10 23:59:21,443 wsgi.py:269]
Traceback (most recent call last):
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 311, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:UsersGilbertAppDataLocalGoogleCloud SDKgoogle-cloud-sdkplatformgoogle_appenginegoogleappengineruntimewsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineapprtc.py", line 23, in <module>
import analytics
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineanalytics.py", line 14, in <module>
INFO 2020-07-11 00:59:21,443 module.py:865] default: "GET /favicon.ico HTTP/1.1" 500 -
import apiauth
File "C:UsersGilbertDocumentsProjetsAPPRTCapprtc-mastersrcapp_engineapiauth.py", line 12, in <module>
from apiclient import discovery
ImportError: No module named apiclient
我认为您的示例代码已经过时,在AppEngine中使用GoogleApi客户端导入发现服务的正确方法如下代码片段。
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
# this will take the credentials that was defined by the command 'gcloud auth application-default login' on local environments, this is already defined on App Engine STD/Flex(no custom runtime) and Cloud functions.
credentials = GoogleCredentials.get_application_default()
# if you are using Cloud functions or App Engine (GAE) STD environment set
# cache_discovery=False, to avoid try to save cache on disk
# if this is not set, the application works fine but will thrown some warnings
service = discovery.build('cloudresourcemanager', 'v1', credentials=credentials, cache_discovery=False)
# this example is to use cloud resource manager, but you can change this for the service that you need
#disable warnings to avoid noise in the logs, this applies for GAE STD & Cloud functions
logging.getLogger('googleapiclient.discovery_cache').setLevel(logging.ERROR)
需求.txt
google-api-python-client==1.9.3
oauth2client==4.1.3
在这个谷歌的回购中,你可以找到更新的例子