翻译君java demo?

  • 回答 (2)
  • 关注 (1)
  • 查看 (77)

用户2679218用户2679218提问于
zqfan

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

回答于

腾讯机器翻译已经支持API3.0,欢迎使用 3.0 java sdk:https://github.com/TencentCloud/tencentcloud-sdk-java

用户2679218回答于
 public static void main(String[] args){
        Map<String,Object> map = new TreeMap<String, Object>();
        map.put("Action","TextTranslate");
        map.put("Nonce",new Random().nextInt(1000));
        map.put("ProjectId",1257137196);
        map.put("Region","ap-guangzhou");
        map.put("SecretId","secretId");
        map.put("Timestamp",System.currentTimeMillis()/1000);
        map.put("Version","2018-03-21");
        map.put("Source","jp");
        map.put("SourceText","ひさしぶりのカレッタ汐留。気づくと人気店だったお店がいくつか無くなっていたりする。 そして心なしか、以前よりもすいている気もします。 無くなった人気店もありましたが、鼎泰豐は元気に営業されていました。 お昼時に入店です。 お目当てはもちろん小籠包。 普通に豚肉の小籠包でも満足なのですが、 豚肉・ホタテ・蟹みそのセットがありました。 蟹みそなんて、とっても旨そうです。 ビールと一緒に注文。 ビールをのみのみ10分程で小籠包も到着。 お店の人が蓋をとると、小籠包が6つ。 目印がついていて、それぞれ見分けがつくようになってました。 まず豚肉。かわらず美味しい小籠包。 以前着たときは液面がくっきり見えるほどの皮の薄さだったのですが、 ちょいと換わった感じがします。 ホタテも蟹みそも、ちゃんとそれぞれの風味を感じられる小籠包です。 ここらへんは、はずさないところが人気店ですね。 で、最後に餡子の小籠包。 こちらは当然ながら中にスープは無く、 あんこ玉を小籠包生地でくるんだデザート小籠包。 むっちりとした生地にしっかり餡子で、可愛く美味しいデザートです。 客層は家族連れからカップルまで、場所柄とても幅広い客層で どなたがきても居心地悪そうな感じがしない。 とても使い勝手のいいお店だと思います。");
        map.put("Target","zh");

        StringBuilder sb = new StringBuilder();
        sb.append("GET").append("tmt.tencentcloudapi.com/").append("?");
        for(Map.Entry entry:map.entrySet()){
            sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
        }
        sb.deleteCharAt(sb.length() -1);
        String sign = Base64.encodeBase64String(genHMAC(sb.toString(),"secretKey"));
        map.put("Signature",sign);

        StringBuilder url = new StringBuilder();
        url.append("https://tmt.tencentcloudapi.com").append("?");
        for(Map.Entry entry:map.entrySet()){
            url.append(entry.getKey()).append("=").append(URLEncoder.encode(String.valueOf(entry.getValue()))).append("&");
        }
        url.deleteCharAt(url.length() -1);
        System.out.println(url);
    }
    
    public static byte[] genHMAC(String data, String key) {
        byte[] result = null;
        try {
            //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
            SecretKeySpec signinKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);
            //生成一个指定 Mac 算法 的 Mac 对象
            Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
            //用给定密钥初始化 Mac 对象
            mac.init(signinKey);
            //完成 Mac 操作
            byte[] rawHmac = mac.doFinal(data.getBytes());
            return rawHmac;
        } catch (Exception e) {
            throw new TranslationException("HmacSHA1签名错误");
        }
    }

扫码关注云+社区

领取腾讯云代金券