Reputation: 81
For authentication Cloud Speech-To-Text client in PHP application I use the following:
$credentials = 'C:\cred.json';
$client=new SpeechClient(['credentials'=>json_decode(file_get_contents($credentials), true)]);
For some reasons I receive error:
Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error:
POST https://oauth2.googleapis.com/token
resulted in a400 Bad Request
response: {"error":"invalid_scope","error_description":"Invalid OAuth scope or ID token audience provided."}
The above method of authentication works perfectly in Text-To-Speech API.
$credentials = 'C:\cred.json';
$client = new TextToSpeechClient(['credentials' => json_decode(file_get_contents($credentials), true)]);
What is wrong/missing?
Upvotes: 3
Views: 1391
Reputation: 4145
I'd like to outline the suggest of @KevinDriessen in the comment because solve the problem (I got the same issue) without a general update of the vendor directory, that is not always desiderable.
composer update google/cloud-text-to-speech --with-dependencies
Upvotes: 1
Reputation: 81
The problem solved by updating Auth module (in Vendor folder). Just change your Auth version to the latest version in your composer.json file.
{
"require": {
"google/auth": "1.14.3",
"google/cloud-text-to-speech": "^0.5.0",
"google/cloud-speech": "^1.3",
"google/protobuf": "^3.14",
"phpmailer/phpmailer": "^6.1",
"google/apiclient": "2.5"
}
}
Once it's done, I just run
composer update
in your command line in the appropriate directory. Now it works.
Upvotes: 5