可以这么说,这是我第一次使用Google Cloud,因此这可能是一个菜鸟问题。
我想使用Google Cloud语音库对音频文件中的文本进行语音转换。我还想通过提供私钥文件在代码中明确说明要使用的Google Cloud服务帐户凭据。我该怎么做?
似乎我想要的是this quickstart for speech recognition和this example of how to set credentials within the code(explicit()
部分的混合)。
我尝试这样做,但是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
吗?我尝试浏览文档-我缺少什么吗?
答案 0 :(得分:0)
几乎所有的Google 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)