谷歌语音到文本认证访问令牌到期问题



我使用谷歌语音文本api,并遵循下面链接中提到的所有步骤:https://cloud.google.com/speech/docs/getting-started

当我使用上面页面中提到的命令行界面的命令时,一切似乎都很好,并且我也得到了输出文本。

但是,如果我为相同的命令创建一个php文件,那么它可以正常工作1小时,然后令牌到期。并且没有使用下面的命令通过php文件创建令牌:

shell_exec(gcloud auth activate-service-account --key-file=/keyfile.json)
shell_exec(gcloud auth print-access-token)

但是同样的命令在命令行系统中工作得很好。

所以基本上我有通过php文件的身份验证过程的问题,得到以下错误:

 "error": { "code": 401, "message": "Request had invalid authentication credentials.", "status": "UNAUTHENTICATED" } }

有没有人能告诉我缺少什么,或者我是否遵循错误的认证方法?

复制成功,并在1小时和2小时后再次运行php文件,结果相同:没有错误。你可以考虑提供更多的细节,也许包括ini_set('display_errors', 'On')这样的指令;error_reporting (E_ALL);

在401-error子章节[1]中可以找到关于凭证在小时内到期的相关阅读。

[1] https://cloud.google.com/storage/docs/xml-api/reference-status