提示找不到Version?

  • 回答 (4)
  • 关注 (0)
  • 查看 (2263)

我提交的URL:

https://aai.tencentcloudapi.com/?Action=SentenceRecognition&DataLen=3880&EngSerViceType=8k&Nonce=751854650&ProjectId=0&Region=ap-beijing&SecretId=AKIDFVfhYK92DKFDZnNn174ufJF6phZUovTq&SignatureMethod=HmacSHA1&SourceType=1&SubServiceType=2&Timestamp=1531371497995&UsrAudioKey=www12&Version=2018-05-22&VoiceFormat=mp3&Signature=5DTefPbxYCpaKnKEjuxJcDbKIzc=

返回:

{"Response":{"Error":{"Code":"MissingParameter","Message":"The request is missing a required parameter `Version`."},"RequestId":"6ce92417-14d8-4fd4-9c8a-45ad23dbabfc"}}

我已经提交了version 参数 为什么还提示找不到?

用户2616390用户2616390提问于
zqfan

腾讯 · 高级工程师 (已认证)

修改于
推荐

post的时候 url不包含参数的哈,所有参数都是放在body里的,而且只支持application/x-www-form-urlencoded这一种content-type。

另外目前接口对大包的支持还有点问题,如果请求的body过大超过1m可能引发签名失败。一句话识别也限制了音频只有一分钟,实际应该到不了那么大。

建议使用sdk(https://cloud.tencent.com/document/sdk)或者cli(https://cloud.tencent.com/document/product/440/6176)调用云API

None-xiaomi没有介绍才是最牛逼的炫耀回答于

您是否可以详细说明一下,最好可以把您的SecretId和Key删掉,然后贴出代码,再看一下。

或者您也检查一下,您的Version是否参与了签名?

希望我的回答能对您有所帮助。如果有疑问可以给我留言。

用户7150242回答于

我也遇到了这个问题

但是我都是post提交的 提示The request is missing a required parameter `Version`

用户6863912修改于

我也碰到version找不到的问题

拼接出来的curl 参数是没有问题的

    public function postApi($api, $data)
    {
        if (!isset($this->SMSParams[$api])){
            return false;
        }
        $this->params = array_merge($this->SMSParams['common'], $this->SMSParams[$api]);

        $payload = $this->dataFormat($data);

        $signHeader = [
            "Content-Type" => "Content-Type:application/json",
            "Host" => "Host:".$this->params['host'],
        ];

        $postHeader = $this->getPostHeader($payload, $signHeader);

        echo $this->toStr($this->params,$postHeader,$payload);
        var_dump($postHeader, $data);
        
        $curl = curl_init('https://'.$this->params['host']);
        curl_setopt($curl,CURLOPT_HEADER,array_values($postHeader));
        curl_setopt($curl,CURLOPT_POST,1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        
        $output = curl_exec($curl);
        var_dump($output);

        $content = curl_multi_getcontent($curl);
        var_dump($content);
        curl_close($curl);
        exit();
    }
    
    private function toStr(array $params, array $postHeader, string $payload)
    {
        $str = 'curl ';
        foreach ($postHeader as $item) {
            $str .= ' -H \''.$item.'\'';
        }
        $str .= ' -d \''.$payload.'\'';
        $str .= ' \'https://'.$params['host'].'\'';
        echo '<br/>',$str,'<br/>';
    }

可能回答问题的人

  • Superbeet

    8 粉丝0 提问0 回答
  • 腾讯云AI中心

    腾讯云 · 产品经理 (已认证)

    101 粉丝0 提问19 回答
  • rodson

    腾讯 · web前端开发 (已认证)

    4 粉丝0 提问0 回答
  • DJ213

    2 粉丝0 提问0 回答
  • 晏栋栋栋

    3 粉丝0 提问2 回答
  • zqfan

    腾讯 · 高级工程师 (已认证)

    38 粉丝0 提问238 回答

扫码关注云+社区

领取腾讯云代金券