我在嘗試使用Google Analytics Reporting API V4下載一些數據。pyOpenSSL NotImplementedError Google App Engine
在我的lib/
文件夾(在GAE項目中)我有pyOpenSSL
及其所有依賴項。
本地,在我的virtualenv,它工作正常。
這是錯誤我得到:
Environment:
Request Method: GET
Request URL: ###############
Django Version: 1.9
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')
Traceback:
File "/base/data/home/apps/myapp/1.394185263495829842/lib/django/core/handlers/base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "/base/data/home/apps/myapp/1.394185263495829842/lib/django/core/handlers/base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/base/data/home/apps/myapp/1.394185263495829842/polls/views.py" in index
27. return HttpResponse(json.dumps(we.atualizacao_diaria()))
File "lib/workers/worker_estacio.py" in atualizacao_diaria
41. return self.atualizar_periodo(f_date, f_date)
File "lib/workers/worker_estacio.py" in atualizar_periodo
47. c_ga_estacio = ConectorEstacioGA()
File "lib/workers/conectores/conector_ga.py" in __init__
50. credentials = ServiceAccountCredentials.from_p12_keyfile(SERVICE_ACCOUNT_EMAIL, KEY_FILE_LOCATION, scopes=SCOPES)
File "lib/oauth2client/service_account.py" in from_p12_keyfile
345. token_uri=token_uri, revoke_uri=revoke_uri)
File "lib/oauth2client/service_account.py" in _from_p12_keyfile_contents
300. raise NotImplementedError(_PKCS12_ERROR)
Exception Type: NotImplementedError at/
Exception Value:
This library only implements PKCS#12 support via the pyOpenSSL library.
Either install pyOpenSSL, or please convert the .p12 file
to .pem format:
$ cat key.p12 | \
> openssl pkcs12 -nodes -nocerts -passin pass:notasecret | \
> openssl rsa > key.pem
有人能幫助我嗎?
此基礎上你的錯誤你有沒有嘗試過更改文件類型.P12文件?正如錯誤報告中所建議的那樣?還請查看此[服務帳戶](https://developers.google.com/identity/protocols/OAuth2ServiceAccount)文檔以獲取更多信息。 –
是的,我試過了。我認爲這幾乎是一個應用程序引擎問題,整個事情在我的測試機器中運行良好,在部署到生產環境時會崩潰。我不是說應用程序引擎有問題,我說我錯過了關於如何使用pyOpenSSL的東西:) –