3

Ich erforsche google cloud rede api in python.Ich bin dabei, diese link. Ich habe auch diese stackoverflow link verwiesen. Aber ich habe von der Einstellung der Umgebungsvariablen getroffen.Wie google cloud rede api in python zu verwenden

Dinge, die ich getan habe:

1.Installed gcloud Python-Modul

2.Installed google-api-Python-Client-Modul

3.Had ein Dienstkonto (erhalten JSON-Datei einrichten)

4.Obtained einen API-Schlüssel

ich in den Export GOOGLE_APPLICATION_CREDENTIALS und GCLOUD_PROJECT Umgebungsvariablen getroffen wurde .

Meine Zweifel sind:

1.Should sie Google Cloud SDK exportiert werden, wenn ja, welche Rolle hier hat Google Cloud sdk spielen und wann sollten wir diese sdk verwenden?

2. Da ich den API-Schlüssel nicht explizit in den Code einfüge, bedeutet das, dass meine Authentifizierung automatisch online verifiziert wird? In welchem ​​Fall funktioniert meine get_speech_service() - Funktion im folgenden Code?

Unten ist der Code

import argparse 
import base64 
import json 


import httplib2 
from googleapiclient import discovery 
from oauth2client.client import GoogleCredentials 


if __name__ == '__main__': 
    parser = argparse.ArgumentParser() 
    parser.add_argument('speech_file',help='This is the path of the audio') 
    args = parser.parse_args() 
    print args.speech_file 
    main(args.speech_file) 

def main(speech_file): 
    with open(speech_file,'rb') as speech: 
     speech_content = base64.b64encode(speech.read()) 

    service = get_speech_service() 
    service_request = service.speech().syncrecognize(
    body={ 
     'config':{ 
      'encoding':'LINEAR16', 
      'sampleRate':16000, 
      'languageCode':'en-US', 
      }, 
     'audio':{ 
      'content':speech_content.decode('UTF-8') 
      } 
     }) 
    response = service_request.execute() 
    print(json.dumps(response)) 
DISCOVERY_URL = ('https://speech.googleapis.com/$discovery/rest?/version=v1beta1') 

def get_speech_service(): 
    credentials = GoogleCredentials.get_application_default().create_scoped(
    ['https://www.googleapis.com/auth/cloud-platform']) 
    http = httplib2.Http() 
    credentials.authorize(http) 
    return discovery.build('speech','v1beta1',http=http,discoveryServiceUrl=DISCOVERY_URL) 

ich oft gegoogelt und ich erhielt die erwähnte Verbindung Stackoverflow, der etwas things.Since geklärt Ich bin nicht klar mit meinem oben Zweifel, die ich hier gepostet.

Antwort

0

Die folgenden Schritte funktionierten für mich. Ich hoffe, es wird dir etwas nützen.

Klon von github folgenden Repo:

git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git 

navigate to folder:

cd python-docs-samples/speech/cloud-client/ 

pip Install (bin sicher, dass Sie dies bereits haben) und virtualenv. ausführen folgenden Befehle:

$ virtualenv env 
$ source env/bin/activate 

installieren dann von requirements.txt

pip install -r requirements.txt 

definieren und exportieren Google-Anmeldeinformationen Pfad (Sie tun dies bereits).

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json 

Start mit dem Quick-Beispielskript:

python quickstart.py 

Sie sollten folgende Ausgabe bekommen: enter image description here

Danach können Sie andere Skripte im selben Ordner erforschen und versuchen auch URI Proben für lange Anerkennung.