Google Cloud Text to Speech INVALID API KEY

问题描述 投票:1回答:2

我按照这个页面:

https://cloud.google.com/text-to-speech/docs/quickstart-protocol

我生成了一个访问令牌:

gcloud auth application-default print-access-token

进入这个:

curl -H "Authorization: Bearer "$(my_token_is_in_here) \
  -H "Content-Type: application/json; charset=utf-8" \
  --data "{
    'input':{
      'text':'Android is a mobile operating system developed by Google,
         based on the Linux kernel and designed primarily for
         touchscreen mobile devices such as smartphones and tablets.'
    },
    'voice':{
      'languageCode':'en-gb',
      'name':'en-GB-Standard-A',
      'ssmlGender':'FEMALE'
    },
    'audioConfig':{
      'audioEncoding':'MP3'
    }
  }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt

我懂了:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   605    0   297  100   308    297    308  0:00:01 --:--:--  0:00:01  3517

但是我打开了synthesize-text.txt并找到了

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

很明显,gcloud给了我一个令牌,为什么没有文字到语音识别它?

google-cloud-platform gcloud api-key
2个回答
1
投票

[解决了]

1)我去了'汉堡包'下载的API和服务

2)我在左栏中找到了“凭证”子菜单

3)我做了'创建凭据'并选择了API密钥然后在我的请求中我制定了

卷曲-H“X-Goog-Api-Key:我新创建的API-key”-H“Content-Type:application / json; charset = utf-8”--data“{'input':{' text':'Android是由Google开发的基于Linux内核的移动操作系统,主要用于智能手机和平板电脑等触摸屏移动设备。'},'voice':{'languageCode':'en-gb', 'name':'en-GB-Standard-A','ssmlGender':'FEMALE'},'audioConfig':{'audioEncoding':'MP3'}}“”https://texttospeech.googleapis.com/v1beta1/text:synthesize“> synthesize-text.txt

现在它有效。

因此,似乎使用服务帐户密钥的“授权承载”不起作用。我使用的是Windows 10。


0
投票

就像弗雷德里克在评论中所说的那样,谷歌的文档中有一个错误,它应该是:-H "Authorization: Bearer $(my_token_is_in_here)"(“最后,而不是在Bearer之后)

© www.soinside.com 2019 - 2024. All rights reserved.