研究的我抓耳挠腮,终于调通了。记录下成果。
由于官网只有java的demo ,对于PHP程序员的我很是难受。o(╥﹏╥)o
首先借鉴下官网的截图,了解下具体实现思路。
AccessKey包括AccessKey ID和AccessKey Secret。
AccessKeyId:简称AK,用于标识用户。
AccessKeySecret:简称SK,用于验证用户的密钥。AccessKeySecret必须保密!
这是java的demo代码(我附上连接可以参考阿里出的demo)
下面是PHP的demo(仅供参考)
安装阿里的SDK
(我用的laravel框架写的)
composer require alibabacloud/sdk
public function demo(Request $request)
{
$ak = 'LTA*******************m4';
$sk = 'iHsy******************M';
//初始化配置
AlibabaCloud::accessKeyClient($ak,$sk)->regionId('cn-shanghai')->asDefaultClient();
$action = $request->get('action','StartPredictiveCall');//接口名
Log::info($action);
$requests = $request->get('request','123');//请求参数
Log::info($requests);
$arr = json_decode($requests,true);
$keys = array_keys($arr);
foreach ($keys as $key=>$value){
$keys[$key]=ucfirst($value);
}
$arr = array_combine($keys,$arr);
Log::info($arr);
try {
$res= AlibabaCloud::rpc()
->product('CCC')
->version('2020-07-01')
->action($action)
->method('POST')
->host('ccc.cn-shanghai.aliyuncs.com')
->options([
// 'query' => [
// 'InstanceId' => "qu******1",
// 'ContactId' => "job-20******04",
// ],
'query' =>$arr
])
->request();
Log::info( $res->toJson());
return $res->toJson();
} catch (\AlibabaCloud\Client\Exception\ClientException $e) {
echo 'ClientException' . PHP_EOL;
echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
echo 'ServerException' . PHP_EOL;
echo $e->getErrorMessage() . PHP_EOL;
}
}