我正在尝试为AWS Transcribe初始化API,但是文档似乎不清楚。
我的代码是:
<?php
require 'aws-api/aws-autoloader.php';
$client = new Aws\TranscribeService\TranscribeServiceClient;
$result = $client->commandName(listTranscriptionJobs([
]));
echo $result;
var_dump($result);
?>
但是我收到PHP错误:
[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
我无法找到Transcribe API的代码段,也无法找出我所缺少的内容。有人有Transcription API的代码吗?
https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-transcribe-2017-10-26.html
答案 0 :(得分:1)
对此的答案是,它缺少区域和版本的选项数组。这是用于从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;
}