2016-08-10 18 views
5

私はグーグルクラウドスピーチAPIでPythonを使用しています。私は "How to use google speech recognition api in python?"のすべてのステップをubuntuとWindowsでも実行しました。ここに - 「https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.pyGoogleクラウドスピーチAPIを使用しようとすると、

私は次のエラーを取得: <HttpError 403 when requesting https://speech.googleapis.com/$discovery/rest?version=v1beta1 returned "Google Cloud Speech API has not been used in project google.com:cloudsdktool before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/speech.googleapis.com/overview?project=google.com:cloudsdktool then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.">

奇妙である何が私が私が「のgcloud初期化」を実行して名前「cloudsdktool」で

をプロジェクトを持っていないということです、と私がサービスアカウントキーを作成したときに得たjsonファイルを "gcloud auth a ctivateサービスアカウント--key-ファイル= jsonfile」コマンド、 私はGoogleの資格情報環境変数を作成するには、Linuxで試しても私は同じマッサージ

+0

関連の議論https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/706:ここ

はgrpcのために変更されたスクリプトです。 jsonファイルで認証が必要なように見えます。 –

+1

[Google Vision APIのテキスト検出の可能性のある複製Pythonの例でプロジェクトを使用しています:自分のプロジェクトではなく "google.com:cloudsdktool"(http://stackoverflow.com/questions/38048320/google-vision-api-text-detection) –

答えて

3

を取得するだから私はその問題を解決するには、2つの方法が見つかりました:

1 - google cloud sdkを使用していて、クラウドスピーチがベータ版の場合は、 'gcloud init'の代わりに 'gcloud beta init'を実行してjsonファイルを提供する必要があります。

2 - Googleのクラウドsdkを使用すると、jsonファイルをPythonアプリケーションに直接渡すことができます

ここでは、 Rこの:

from oauth2client.client import GoogleCredentials 

GoogleCredentials.from_stream('path/to/your/json') 

その後、あなただけのあなただけの例のように、ヘッダに渡しcredsを上のスコープを作成し、承認またはgrpc(ストリーミング)を使用している場合。

def make_channel(host, port): 
    """Creates an SSL channel with auth credentials from the environment.""" 
    # In order to make an https call, use an ssl channel with defaults 
    ssl_channel = implementations.ssl_channel_credentials(None, None, None) 

    # Grab application default credentials from the environment 
    creds = GoogleCredentials.from_stream('path/to/your/json').create_scoped([SPEECH_SCOPE]) 
    # Add a plugin to inject the creds into the header 
    auth_header = (
     'Authorization', 
     'Bearer ' + creds.get_access_token().access_token) 
    auth_plugin = implementations.metadata_call_credentials(
     lambda _, cb: cb([auth_header], None), 
     name='google_creds') 

    # compose the two together for both ssl and google auth 
    composite_channel = implementations.composite_channel_credentials(
     ssl_channel, auth_plugin) 

    return implementations.secure_channel(host, port, composite_channel) 
+0

ありがとう、私の場合はベータ版の他のライブラリでも解決しています。言語APi:http://stackoverflow.com/questions/38048320/google-vision- api-text-detection-python-example-uses-project-google-comclouds – Neurus

関連する問題