我正在使用谷歌语音文本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" } }
任何人都可以告诉我缺少什么,或者我是否采用了错误的身份验证方法?
答案 0 :(得分:0)
成功再现并在一小时后再次运行php文件,然后在相同结果下再运行2小时:没有错误。您可以考虑提供更多细节,可能包括指令,例如ini_set(' display_errors',' On');使用error_reporting(E_ALL);在你的文件中。
有关凭证的按时到期的相关读数可在[1]的401错误子章节中找到。
[1] https://cloud.google.com/storage/docs/xml-api/reference-status