首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >翻译君API 接口鉴权总是错误?

翻译君API 接口鉴权总是错误?

提问于 2018-04-01 00:18:48
回答 2关注 0查看 1.1K

请问我按照文档走下来总是鉴权错误,不知道错在哪里,还请大家帮我看看,谢谢

代码语言:javascript
复制
<?php

define("WAY",            "TextTranslate");
define("PLACE",          "gz");
define("URL",            "https://tmt.api.qcloud.com/v2/index.php");
define("SEC_ID",         "XX");
define("SEC_KEY",        "XX");

//翻译入口
function translate($sourceText, $source, $target)
{
    $tm=time();
    $nc=rand(10000,99999);
    $args = array(
        'Action'=>WAY,
        'Nonce'=>$nc,
        'Region'=>PLACE,
        'SecretId'=>SEC_ID,
        'Timestamp'=>$tm,
        'sourceText' => $sourceText,
        'source' => $source,
        'target' => $target
    );
    $args['Signature'] = buildSign($tm,$nc);

    $url=URL.'?';
    foreach ($args as $key=>$value)
    {
        $url.=$key.'='.urlencode($value).'&';
    }
    $url=substr($url,0,strlen($url)-1);

    $ret = doCurlGetRequest($url);
    $ret = json_decode($ret, true);
    echo var_dump($ret);
}

//生成签名串
function buildSign($time,$nonce)
{
    $pars = array(
        'Action'=>WAY,
        'SecretId'=>SEC_ID,
        'Timestamp'=>$time,
        'Nonce'=>$nonce,
        'Region'=>PLACE
    );
    ksort($pars);
    $reqStr='';
    foreach ($pars as $key => $value)
    {
        $reqStr.=$key.'='.$value.'&';
    }
    $reqStr = substr($reqStr,0,strlen($reqStr)-1);

    $srcStr ='GETtmt.api.qcloud.com/v2/index.php?'.$reqStr;
    $signStr = base64_encode(hash_hmac('sha1', $srcStr, SEC_KEY, true));
    return $signStr;
}
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档