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.