在代码中明确使用服务帐户凭据进行语音识别

时间:2019-02-13 15:23:35

标签: python google-cloud-platform

可以这么说,这是我第一次使用Google Cloud,因此这可能是一个菜鸟问题。

我想使用Google Cloud语音库对音频文件中的文本进行语音转换。我还想通过提供私钥文件在代码中明确说明要使用的Google Cloud服务帐户凭据。我该怎么做?

似乎我想要的是this quickstart for speech recognitionthis example of how to set credentials within the codeexplicit()部分的混合)。

我尝试这样做,但是explicit()使用google.cloud.storage来设置客户端,

from google.cloud import storage
storage_client = storage.Client.from_service_account_json('service_account.json')

以便发出API请求。

设置

client = storage.Client.from_service_account_json('service_account.json')

然后运行

client.recognize(config, audio)

显然会引发错误,指出client没有该属性。我的猜测是,我需要类似的东西,但是要google.cloud.speech吗?我尝试浏览文档-我缺少什么吗?

1 个答案:

答案 0 :(得分:0)

几乎所有的Google Client库都遵循相同的凭据设计模式。在下面的示例中,代码将加载凭据,然后使用这些凭据创建客户端。

Link to the Speech Client

from google.oauth2 import service_account
from google.cloud import speech_v1
from google.cloud.speech_v1 import enums

SCOPES = ["https://www.googleapis.com/auth/cloud-platform"]
SERVICE_ACCOUNT_FILE = 'service-account.json'

cred = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)

client = speech_v1.SpeechClient(credentials=cred)

OR(注意,通常不指定范围)

client = speech_v1.SpeechClient.from_service_account_file(SERVICE_ACCOUNT_FILE)