讯飞星火目前只提供 java 和 python 示例(坑爹),奈何只能看懂大概,有些代码实在不知道人家写的啥意思
开始
你需要先注册登录一下讯飞开放平台 网址如下:
注册时候右上角有 控制台
你需要创建一个应用
创建成功之后 返回我的应用,等待一下,马上审核完成,虽然上边写的审核时间很长
然后点击这个位置 进去应用
接着你就会看到你的 APPID 和 APISecret
下面是官方文档 地址
这里面是一个java 代码的例子,你如果是java 你直接用,还可以下载他的示例,java pytho 都有 demo
下面是PHP的代码,由于他签名提供的是 java的代码 只能自己写了(这个签名卡了我一上午)
先写签名
function HmacSHA1Encrypt() { $apiKey = “”; // APPID $secretKey = ""; // APISecret $time = time(); $encryptText = md5($apiKey.$time); $hash_hmac = hash_hmac("sha1", $encryptText, $secretKey, true);//这个函数让我挺意外,没想到是用的这个 $signature = base64_encode($hash_hmac); return $signature; }
我调用的顺序是下面
1.调用 主题列表
2.根据内容生成大纲
3.根据大纲生成ppt
当然也可以直接根据内容 生成ppt (也就是文档的第一个生成ppt 的接口)
下面是我的请求接口时候的方法
注意:这一块代码
curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'appId:'.$appid, 'timestamp:'.$time, 'signature:'.$signature ]);
function HmacSHA1EncryptPost($apiUrl(接口地址),$query(参数用数组传过啦),$signature(签名),$method="POST"(请求方式)){
$appid = config('my.app_id');
$time = time();
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if($query){
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($query));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'appId:'.$appid,
'timestamp:'.$time,
'signature:'.$signature
]);
// 执行cURL请求
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response);
}