0

Python 2.7.5を搭載したCentos 7マシンとPython 2.7.2を搭載したGentoo LinuxマシンにGoogle音声APIをインストールしました。私はThis official linkに基づいてこの手順に従った:Google Speech APIの認証エラーTransportError:HTTPSConnectionPool

  1. インストールされたpipの最新バージョン。
  2. pip install google-cloud-speech
  3. export GOOGLE_APPLICATION_CREDENTIALS=/path_to_my_jason_key_file
  4. インストール済みGoogleの音声を使用した認証のためのグローバル変数を設定してテストファイルは、私が取得しています両方のシステムでは
  5. 実行python quickstart.py

をaudio.rawとquickstart.pyダウンロード同じTransportError:HTTPSConnectionPoolエラーです。

これはCentOSにマシンからトレースログです:

python quickstart.py 
WARNING: yacc table file version is out of date 
Traceback (most recent call last): 
    File "quickstart.py", line 59, in <module> 
    run_quickstart() 
    File "quickstart.py", line 51, in run_quickstart 
    response = client.recognize(config, audio) 
    File "/usr/lib/python2.7/site-packages/google/cloud/gapic/speech/v1/speech_client.py", line 201, in recognize 
    return self._recognize(request, options) 
    File "/usr/lib/python2.7/site-packages/google/gax/api_callable.py", line 452, in inner 
    return api_caller(api_call, this_settings, request) 
    File "/usr/lib/python2.7/site-packages/google/gax/api_callable.py", line 438, in base_caller 
    return api_call(*args) 
    File "/usr/lib/python2.7/site-packages/google/gax/api_callable.py", line 376, in inner 
    return a_func(*args, **kwargs) 
    File "/usr/lib/python2.7/site-packages/google/gax/retry.py", line 127, in inner 
    ' classified as transient', exception) 
google.gax.errors.RetryError: RetryError(Exception occurred in retry method that was not classified as transient, caused by <_Rendezvous of RPC that terminated with (StatusCode.UNAUTHENTICATED, Getting metadata from plugin failed with error: Traceback (most recent call last): 
    File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 143, in grpc._cython.cygrpc.plugin_get_metadata.async_callback (src/python/grpcio/grpc/_cython/cygrpc.c:7002) 
    File "/usr/lib64/python2.7/site-packages/grpc/_plugin_wrapping.py", line 91, in __call__ 
    AuthMetadataPluginCallback(wrapped_cygrpc_callback)) 
    File "/usr/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 73, in __call__ 
    callback(self._get_authorization_headers(context), None) 
    File "/usr/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 61, in _get_authorization_headers 
    headers) 
    File "/usr/lib/python2.7/site-packages/google/auth/credentials.py", line 121, in before_request 
    self.refresh(request) 
    File "/usr/lib/python2.7/site-packages/google/oauth2/service_account.py", line 322, in refresh 
    request, self._token_uri, assertion) 
    File "/usr/lib/python2.7/site-packages/google/oauth2/_client.py", line 143, in jwt_grant 
    response_data = _token_endpoint_request(request, token_uri, body) 
    File "/usr/lib/python2.7/site-packages/google/oauth2/_client.py", line 104, in _token_endpoint_request 
    method='POST', url=token_uri, headers=headers, body=body) 
    File "/usr/lib/python2.7/site-packages/google/auth/transport/requests.py", line 115, in __call__ 
    raise exceptions.TransportError(exc) 
TransportError: HTTPSConnectionPool(host='accounts.google.com', port=443): Max retries exceeded with url: /o/oauth2/token (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:765)'),)) 
)>) 

それはかなり両方のシステムで同じエラーログです。設定に欠けているものはありますか?

更新日07/11/2017:opensslのバージョンで問題があるようです。 hereからyum update opensslへの指示に従い、openssl 1.0.2はCentOS 7の問題を解決しました。まだソースからGentooのopensslをアップグレードしようとしています。

アップデート2 07/11/2017:Gentoo Linuxのopensslを1.0.2mにアップデートしましたが、エラーが続く唯一の違いは、それは_ssl.c:504 error:14090086 routines:SSL3_GET_SERVER_CERTIFICATE: certificate verify failedと言います。 GoogleクラウドAPIに認証しようとしているときと同じエラーに遭遇するかもしれない人のために

答えて

0

CentOSに7については、私はhereからyum update openssl次の手順を使用してのOpenSSL 1.0.2mに更新。 OpenSSL 1.0.2mへのアップグレードに加えて、私はpip uninstall -y certifi && pip install certifi==2015.04.28

で認証取得をダウングレードしなければならなかったのGentoo Linuxの場合

関連する問題