首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >云点播-拉取事件通知|确认时间通知,身份认证失败,用户身份验证失败?

云点播-拉取事件通知|确认时间通知,身份认证失败,用户身份验证失败?

提问于 2018-12-11 10:36:25
回答 0关注 0查看 276
代码语言:java
复制
public String eventParam(String action) {
        // 拼装参数
        TreeMap<String, Object> params = new TreeMap<>();
        params.put("Action", action);
        params.put("Region", "bj");
        params.put("Timestamp", System.currentTimeMillis() / 1000);
        params.put("Nonce", new Random().nextInt(java.lang.Integer.MAX_VALUE));
        params.put("SecretId", secretId);
        // 整理参数
        String signature = getSignature(params);

        String pullGet = SignatureUtil.getStringToSign("GET", "vod.api.qcloud.com/v2/index.php", params);

        String substring = pullGet.substring(pullGet.indexOf("?"));
        substring += "&Signature=" + signature;
        return substring;
    }

      
public static String sign(String s, String key, String method) throws Exception {
    Mac mac = Mac.getInstance(method);
    SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), mac.getAlgorithm());
    mac.init(secretKeySpec);
    byte[] hash = mac.doFinal(s.getBytes());
    return Base64.encodeBase64String(hash);
}

public static String getStringToSign(String method, String endpoint, TreeMap<String, Object> params) {
    StringBuilder s2s = new StringBuilder();
    s2s.append(method).append(endpoint).append("?");
    // 签名时要求对参数进行字典排序,此处用TreeMap保证顺序
    for (String k : params.keySet()) {
        s2s.append(k).append("=").append(params.get(k).toString()).append("&");
    }
    return s2s.toString().substring(0, s2s.length() - 1);
}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

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