腾讯云机器翻译接口调用

腾讯云机器翻译接口的使用

参考的腾讯云文档:机器翻译 公共参数_腾讯云以及机器翻译 签名方法_腾讯云

请求方式:POST请求

输入参数:Action,Version, Region,SourceText,Source,Target,ProjectId,Timestamp,Nonce,SecretId,Signature(注意:Signature的值是指对自己外的其他参数进行v1或者v3的加密,这里使用的是v1加密)

输出参数:TargetText,Source,Target,UsedAmount,RequestId

import requests
import hashlib
import hmac
import base64
import time
import json

def get_signature(secret_key, params):


    sorted_params = sorted(params.items())


    encode_str = 'POST'+'tmt.tencentcloudapi.com'+'/?'+'&'.join([f"{k}={v}" for k, v in sorted_params])

    print("encode_str:"+encode_str)


    hash1 = hmac.new(secret_key.encode('utf8'), encode_str.encode('utf8'), hashlib.sha1)


    signature = base64.b64encode(hash1.digest())


    return (signature)
            


def translate_text(secret_id, secret_key, text, source_lang, target_lang):


    url = "https://tmt.tencentcloudapi.com"


    params = {

        "Action": "TextTranslate",

        "Version": "2018-03-21",

        "Region":"ap-beijing",

        "SourceText": text,

        "Source": source_lang,

        "Target": target_lang,

        "ProjectId": 0,

        "Timestamp": int(time.time()),

        "Nonce": 123455,

        "SecretId": secret_id,

    }

    params["Signature"] = get_signature(secret_key, params)

    response = requests.post(url, data=params)

    return response.json()

if __name__ == '__main__':
    
#填写自己的secret_id,secret_id是指密匙创建的时候给的secret_id,并非APPID
    secret_id = "*****************************"
    
#填写自己的secret_key
    secret_key = "*******************************"

    text = "吃葡萄不吐葡萄皮"

    source_lang = "zh"


    target_lang = "en"


    result = translate_text(secret_id, secret_key, text, source_lang, target_lang)

    print(result)

访问结果

屏幕截图 2025-08-17 173254

posted @ 2025-08-17 17:40  行外人  阅读(29)  评论(0)    收藏  举报