importcom.alibaba.fastjson.JSONObject;importcom.envision.apim.poseidon.config.PConfig;importcom.envision.apim.poseidon.core.Poseidon;importcom.envision.apim.poseidon.request.PoseidonRequest;importcom.google.common.net.HttpHeaders;importorg.apache.commons.codec.binary.Hex;importorg.junit.Test;importjava.nio.charset.StandardCharsets;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;publicclassSample{privatestaticStringaccessKey="AccessKey of your APP";privatestaticStringsecretKey="SecretKey of your APP";privatestaticStringorgId="yourOrgId";privatestaticStringurl="https://{domain_url}";privatestaticStringtoken="";privatestaticclassRequestextendsPoseidonRequest{publicvoidsetQueryParam(Stringkey,Objectvalue){queryEncodeParams().put(key,value);}publicvoidsetMethod(Stringmethod){this.method=method;}publicvoidsetBodyParams(Stringkey,Objectvalue){bodyParams().put(key,value);}privateStringmethod;@OverridepublicStringbaseUri(){return"";}@OverridepublicStringmethod(){returnmethod;}}publicstaticStringgetToken(){Requestrequest=newRequest();request.setMethod("POST");longtimestamp=System.currentTimeMillis();Stringtemp=accessKey+timestamp+secretKey;request.bodyParams().put("encryption",string2Sha256(temp).toLowerCase());request.bodyParams().put("timestamp",timestamp);request.bodyParams().put("appKey",accessKey);try{JSONObjectresponse=Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug()).url(url+"/apim-token-service/v2.0/token/get").getResponse(request,JSONObject.class);returnresponse.getJSONObject("data").getString("accessToken");}catch(Exceptione){e.printStackTrace();}returnnull;}privatestaticStringstring2Sha256(Stringstr){MessageDigestmessageDigest;StringencodeStr="";try{messageDigest=MessageDigest.getInstance("SHA-256");byte[]hash=messageDigest.digest(str.getBytes(StandardCharsets.UTF_8));encodeStr=Hex.encodeHexString(hash);}catch(NoSuchAlgorithmExceptione){}returnencodeStr;}@TestpublicvoidListChannels(){token=getToken();Requestrequest=newRequest();request.setQueryParam("orgId",orgId);request.setMethod("GET");request.headerParams().put(HttpHeaders.AUTHORIZATION,"Bearer "+token);request.headerParams().put(HttpHeaders.CONTENT_TYPE,"application/json");try{JSONObjectresponse=Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey)).url(url+"/data-federation/v2.0/channels").getResponse(request,JSONObject.class);System.out.println(response);}catch(Exceptione){e.printStackTrace();}}}