1

I am trying to initialize API for AWS Transcribe, but the documentation doesn't seem to be clear.

My code is:

    <?php
require 'aws-api/aws-autoloader.php';
$client = new Aws\TranscribeService\TranscribeServiceClient;

$result = $client->commandName(listTranscriptionJobs([

    ]));

echo $result;

var_dump($result);

?>

but I am getting PHP Error:

[Mon Aug 13 03:09:02.430628 2018] [:error] [pid 27717] [client 123.123.123.123:29660] PHP Catchable fatal error:  Argument 1 passed to Aws\\AwsClient::__construct() must be of the type array, none given, called in /var/www/example/public_html/wp-content/themes/example/aws-transcribe.php on line 16 and defined in /var/www/example/public_html/wp-content/themes/example/aws-api/Aws/AwsClient.php on line 146, referer: http://example.com/wp-content/themes/xxx/aws-transcribe.php

I have not been able to find a code snippet for the Transcribe API and cannot figure out what I am missing. Anyone have code for the Transcription API?

https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-transcribe-2017-10-26.html

David Eisen
  • 281
  • 4
  • 13

1 Answers1

2

The answer to this was that it was missing the options array of region and version. This is working code for getting Transcription Text from the AWS PHP 3.0 API

function get_transcription($transcription_name){
date_default_timezone_set('America/New_York');
require 'aws-api/aws-autoloader.php';

$transcribe = new Aws\TranscribeService\TranscribeServiceClient([
'region'  => 'us-east-1',
'version' => '2017-10-26'
]);

$result = $transcribe->getTranscriptionJob([
    'TranscriptionJobName' => $transcription_name, // REQUIRED
]);


$transcription = $result['TranscriptionJob']['Transcript']['TranscriptFileUri'];

$transcription_download = file_get_contents($transcription);
$transcribe_final = json_decode($transcription_download, true);

$trans = $transcribe_final['results']['transcripts'][0]['transcript'];
echo $trans;
}
David Eisen
  • 281
  • 4
  • 13