最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java調(diào)用用戶(hù)芝麻信用分

 更新時(shí)間:2018年11月16日 08:38:31   作者:小編學(xué)IT  
這篇文章主要為大家詳細(xì)介紹了Java調(diào)用用戶(hù)芝麻信用分,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java調(diào)用用戶(hù)芝麻信用分的具體代碼,供大家參考,具體內(nèi)容如下

1.導(dǎo)入芝麻信用API:zmxy-sdk-java-20180824112425.jar fastjson-1.2.48.jar

2.代碼如下:

package com.zhima;

import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.antgroup.zmxy.openplatform.api.DefaultZhimaClient;
import com.antgroup.zmxy.openplatform.api.ZhimaApiException;
import com.antgroup.zmxy.openplatform.api.internal.util.RSACoderUtil;
import com.antgroup.zmxy.openplatform.api.request.ZhimaAuthInfoAuthorizeRequest;
import com.antgroup.zmxy.openplatform.api.request.ZhimaAuthInfoAuthqueryRequest;
import com.antgroup.zmxy.openplatform.api.request.ZhimaCreditScoreGetRequest;
import com.antgroup.zmxy.openplatform.api.response.ZhimaAuthInfoAuthqueryResponse;
import com.antgroup.zmxy.openplatform.api.response.ZhimaCreditScoreGetResponse;

public class Demo {

 //芝麻開(kāi)放平臺(tái)地址

 private static final String URL  = "https://zmopenapi.zmxy.com.cn/openapi.do";

 //商戶(hù)應(yīng)用 Id

 private static final String APPID = "";

 //商戶(hù) RSA 私鑰

 private static final String PRIKEY = "";

 //芝麻 RSA 公鑰

 private static final String PUBKEY = "";

 //統(tǒng)一字符集

 private static final String CHARSET = "UTF-8";

 /**
 
  * 查詢(xún)授權(quán)信息
 
  */

 public void testZhimaAuthInfoAuthorize() {

  ZhimaAuthInfoAuthorizeRequest req = new ZhimaAuthInfoAuthorizeRequest();

  req.setIdentityType("2");// 身份標(biāo)識(shí)

  req.setChannel("apppc"); // PC端

  // 必要參數(shù) state: 用于給商戶(hù)提供透?jìng)鞯膮?shù),芝麻會(huì)將此參數(shù)透?jìng)鹘o商戶(hù)

  req.setBizParams("{\"auth_code\":\"M_APPPC_CERT\",\"state\":\"100111211\"}");

  req.setIdentityParam(
   "{\"certNo\":\"330621198710114617\",\"certType\":\"IDENTITY_CARD\",\"name\":\"陳金賽\"}");// 必要參數(shù)  

  DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);

  try {

   String url = client.generatePageRedirectInvokeUrl(req);

   System.out.println(url);

  } catch (ZhimaApiException e) {

   e.printStackTrace();

  }

 }

 /**
 
  * 獲取目標(biāo)用戶(hù)的open_id,沒(méi)有openid,走授權(quán)
 
  */

 public void testZhimaAuthInfoReq() {

  ZhimaAuthInfoAuthqueryRequest req = new ZhimaAuthInfoAuthqueryRequest();

  // 0:芝麻信用開(kāi)放賬號(hào)ID 1:按照手機(jī)號(hào)進(jìn)行授權(quán) 2:按照身份證+姓名進(jìn)行授權(quán) 3通過(guò)公安網(wǎng)驗(yàn)證進(jìn)行授權(quán) 4.通過(guò)人臉驗(yàn)證進(jìn)行授權(quán)

  req.setIdentityType("2");

  req.setIdentityParam(
   "{\"certNo\":\"522121198710114617\",\"certType\":\"IDENTITY_CARD\",\"name\":\"但鏡宇\"}");// 必要參數(shù)  

  DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);

  try {

   // 如果正常返回,直接在對(duì)象里面獲取結(jié)果值

   ZhimaAuthInfoAuthqueryResponse response = client.execute(req);

   System.out.println(JSON.toJSON(response));

   /* 成功響應(yīng)報(bào)文
   {
    
     "authorized": true,
    
     "body": "{\"success\":true,\"authorized\":true,\"open_id\":\"268816231939676969685782895\"}",
    
     "openId": "268816231939676969685782895",
    
     "params": {
    
     "params": "faeSa69w3kOL+ZRAuHykvufu6ogiqxA48l5hzPutKItPy/2HKtdznbzvLhutsY6KTqLgwS/Af1GN1Y7MLh+XDFtjVUf5kF/npUspRkyFUCPpASJAMxeK56vaELnZ4yCVFjVseOBYlCn4YOCZWmBpu02l7IctE6ZP3r1o4HUR+sMQYlYu2xFHfXiqX2g0vdQn81pJ/fcQ4OuBzq1d3c+qniBXf3iESni1m21nMjxeUclzCdZwXWCI1aIYQnDFgVo/58kJ9CTw/6FrffUcP+c6zvzdM8RNCefiGGuF5Vef+C6tck1kBaYoYT6BS5u4ahYteoiG+XJgzLKF+BqAplhq/A=="
    
     },
    
     "success": true
    
   }
    
   // 失敗響應(yīng)報(bào)文
    
   {
    
     "authorized": false,
    
     "body": "{\"success\":true,\"authorized\":false}",
    
     "params": {
    
     "params": "lGYId9CaU8McGDd8U0ZMM8Pky1/ulOE44LkgGcrWrdzmEtU1JBT5M+Jjd5e27bz45d/CNEqbwmwtg3VsozZTol42YKNi+MYzvvyZEOsUT9F68qiIPxxlOv3vGJsUpB+LJMOI8ZU7eXtHoCnbarQSOvtSylilp6dpIbAIYxbPPvSkj+7f1TiSne/7Re/XZ1qVVM18yTJyleCr+WlOe7o59lZAoiZ5bDoP2ta8MIjwlxz4/1d+IYe0f2BoZQa/9oDqJZ0MNQ0iPCbhqBKRuShPCQe8afEyOTTI0p+cROjwWTz0dwP7QXnkWBvzX3hrWXImdk7JszOVoSxAAAfwcVXNxw=="
    
     },
    
     "success": true
    
   } */

  } catch (ZhimaApiException e) {

   e.printStackTrace();

  }

 }

 /**
 
  * 測(cè)試查詢(xún)芝麻分
 
  * @throws ZhimaApiException 
 
  */

 public static void testQueryScore() throws ZhimaApiException {

  ZhimaCreditScoreGetRequest creditScoreGetRequest = new ZhimaCreditScoreGetRequest();

  creditScoreGetRequest.setPlatform("zmop"); // 開(kāi)放平臺(tái),zmop代表芝麻開(kāi)放平臺(tái)

  creditScoreGetRequest.setChannel("apppc"); // pc端

  //transactionId,該標(biāo)記是商戶(hù)每次請(qǐng)求的唯一標(biāo)識(shí)。建議使用uuid進(jìn)行傳遞,

  creditScoreGetRequest.setTransactionId(UUID.randomUUID().toString());

  creditScoreGetRequest.setProductCode("w1010100100000000001"); // 商戶(hù)配置那塊兒的產(chǎn)品Code

  creditScoreGetRequest.setOpenId("268816113399909561399995894"); // appid,每個(gè)人的標(biāo)識(shí)

  DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);

  // 如果正常返回,直接在對(duì)象里面獲取結(jié)果值

  ZhimaCreditScoreGetResponse creditScoreGetResponse = client.execute(creditScoreGetRequest);

  System.out.println(JSON.toJSON(creditScoreGetResponse));

  /* 成功查詢(xún)響應(yīng)報(bào)文
   
  {
   
    "bizNo": "ZM20160120014501763890a37b16614532255017521309",
    
    "body": "{\"success\":true,\"biz_no\":\"ZM20160120014501763890a37b16614532255017521309\",\"zm_score\":751}",
    
    "params": {
    
    "params": "aqiMCUg1VbZRqflPyVyLKgxShcvc3WoWLTFewqA9PvQjp6yuC99lYlGdr/Bf2FevQ2zemdPTixqQWnO7qdz0pT2x4VFWVJdldPgLVsRr37qWDcO5NjvNZzOuEYozzGSnzwhTyelqglAdzOOepM0ows+7sNVJriABtRdt1HH8gqc="
    
    },
    
    "success": true,
    
    "zmScore": "751"
   
   }
   
   // 失敗查詢(xún)響應(yīng)報(bào)文
   
   {
   
    "body": "{\"success\":false,\"error_code\":\"ZMCREDIT.api_product_not_match\",\"error_message\":\"輸入的產(chǎn)品碼不正確\"}",
    
    "errorCode": "ZMCREDIT.api_product_not_match",
    
    "errorMessage": "輸入的產(chǎn)品碼不正確",
    
    "params": {
    
     "params": "vJTcbtVvo0/WEG01Flve0//EbE70clk7v84B7MVJZH59/HefdyAZ1JG4opTna5ANWvY8UArsGlVIAQ+9K0169ARyJ2yoGs+0Z/fHmrXmWNNqOpcuV56A1xX6E+VOpUth8Z8RqPFKnEq4/rFJRKPA9Uhue2KM9yj6hsAbF0ZXU74="
    
    },
    
    "success": false
   
   } */

 }

 /**
 
  * 自動(dòng)生成頁(yè)面授權(quán)的url
 
  * @throws Exception
 
  */

 public static void testPageAuth() throws Exception {

  ZhimaAuthInfoAuthorizeRequest authInfoAuthorizeRequest = new ZhimaAuthInfoAuthorizeRequest();

  authInfoAuthorizeRequest.setChannel("apppc"); // PC端

  authInfoAuthorizeRequest.setPlatform("zmop"); // 開(kāi)放平臺(tái)

  // 0:芝麻信用開(kāi)放賬號(hào)ID 1:按照手機(jī)號(hào)進(jìn)行授權(quán) 2:按照身份證+姓名進(jìn)行授權(quán) 3通過(guò)公安網(wǎng)驗(yàn)證進(jìn)行授權(quán) 4.通過(guò)人臉驗(yàn)證進(jìn)行授權(quán)

  authInfoAuthorizeRequest.setIdentityType("2");

  Map<String, String> identityParams = new HashMap<String, String>();

  identityParams.put("certNo", "61042619850403354X"); // 證件號(hào)碼

  identityParams.put("name", "張三"); // 姓名

  identityParams.put("certType", "IDENTITY_CARD"); // 證件類(lèi)型

  authInfoAuthorizeRequest.setIdentityParam(JSONObject.toJSONString(identityParams));

  DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);

  String pageAuthUrl = client.generatePageRedirectInvokeUrl(authInfoAuthorizeRequest);

  System.out.println(pageAuthUrl);

 }

 /**
 
  * 獲取芝麻分(GET方式)
 
  */

 public void testZhimaCreditWatchlistGet() {

  ZhimaCreditScoreGetRequest req = new ZhimaCreditScoreGetRequest();

  req.setProductCode("w1010100100000000001");// 必要參數(shù)  

  req.setOpenId("268816231939676969685782895");// 必要參數(shù)  

  DefaultZhimaClient client = new DefaultZhimaClient(URL, APPID, CHARSET, PRIKEY, PUBKEY);

  try {

   // 如果正常返回,直接在對(duì)象里面獲取結(jié)果值

   ZhimaCreditScoreGetResponse response = client.execute(req);

   System.out.println(JSON.toJSON(response));

  } catch (ZhimaApiException e) {

   e.printStackTrace();

  }

 }

 /**
 
  * 處理回調(diào)后的參數(shù),然后解密params
 
  * @param url 例如:http://xxxx.comparams%3Dxxxxx% ... xxxxx
 
  * @throws Exception
 
  */

 public static void parseFromReturnUrl(String url) throws Exception {

  int index = url.indexOf("");

  String urlParamString = url.substring(index + 1);

  String[] paraPairs = urlParamString.split("&");

  String encryptedParam = "";

  for (String paramPair : paraPairs) {

   String[] splits = paramPair.split("=");

   if ("params".equals(splits[0])) {

    encryptedParam = splits[1];

   }

  }

  String decryptedParam = RSACoderUtil.decrypt(URLDecoder.decode(encryptedParam, CHARSET),

   PRIKEY, CHARSET);

  //通過(guò)瀏覽器返回時(shí),不需要decode

  System.out.println(URLDecoder.decode(decryptedParam, CHARSET));

  /* params主要JSON參數(shù)如下:
   
     名稱(chēng)           類(lèi)型     示例值      備注
   
  success    String success  請(qǐng)求成功還是失敗的標(biāo)識(shí)
   
  error_code   String 000001  失敗時(shí)的錯(cuò)誤碼
   
  error_message  String 缺少appId  失敗時(shí)的錯(cuò)誤信息
   
  open_id    String 26881...  芝麻業(yè)務(wù)id
   
  state    String 239...  商戶(hù)透?jìng)鞯闹?,芝麻不做解?
   
  */

 }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java String校招面試題過(guò)程詳解

    java String校招面試題過(guò)程詳解

    這篇文章主要介紹了java String校招面試題過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 分析Java非阻塞算法Lock-Free的實(shí)現(xiàn)

    分析Java非阻塞算法Lock-Free的實(shí)現(xiàn)

    非阻塞算法一般會(huì)使用CAS來(lái)協(xié)調(diào)線(xiàn)程的操作。雖然非阻塞算法有諸多優(yōu)點(diǎn),但是在實(shí)現(xiàn)上要比基于鎖的算法更加繁瑣和負(fù)責(zé)。本文將會(huì)介紹兩個(gè)是用非阻塞算法實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)。
    2021-06-06
  • Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼

    Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼

    這篇文章主要介紹了Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Java使用反射操作數(shù)組示例

    Java使用反射操作數(shù)組示例

    這篇文章主要介紹了Java使用反射操作數(shù)組,結(jié)合實(shí)例形式分析了基于java反射機(jī)制操作數(shù)組的創(chuàng)建、賦值、輸出等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • Java設(shè)計(jì)模式七大原則之接口隔離原則詳解

    Java設(shè)計(jì)模式七大原則之接口隔離原則詳解

    接口隔離原則(Interface Segregation Principle),又稱(chēng)為ISP原則,就是在一個(gè)類(lèi)中不要定義過(guò)多的方法,接口應(yīng)該盡量簡(jiǎn)單細(xì)化。本文將為大家具體介紹一下Java設(shè)計(jì)模式七大原則之一的接口隔離原則,需要的可以參考一下
    2022-02-02
  • yaml配置對(duì)象map使用示例

    yaml配置對(duì)象map使用示例

    這篇文章主要為大家介紹了yaml配置對(duì)象map使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java中finally和return的關(guān)系實(shí)例解析

    Java中finally和return的關(guān)系實(shí)例解析

    這篇文章主要介紹了Java中finally和return的關(guān)系實(shí)例解析,總結(jié)了二者的關(guān)系,然后分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Struts2中圖片以base64方式上傳至數(shù)據(jù)庫(kù)

    Struts2中圖片以base64方式上傳至數(shù)據(jù)庫(kù)

    這篇文章主要介紹了Struts2中圖片以base64方式上傳至數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,代碼分為前臺(tái)和后臺(tái)兩段,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • springboot讀取文件,打成jar包后訪(fǎng)問(wèn)不到的解決

    springboot讀取文件,打成jar包后訪(fǎng)問(wèn)不到的解決

    這篇文章主要介紹了springboot讀取文件,打成jar包后訪(fǎng)問(wèn)不到的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽

    Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽

    這篇文章主要介紹了Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽的詳細(xì)代碼,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評(píng)論

安乡县| 邢台县| 津南区| 仁布县| 涿鹿县| 福州市| 义马市| 怀柔区| 阿勒泰市| 垦利县| 孟州市| 云安县| 云浮市| 新田县| 唐河县| 郎溪县| 大同县| 临漳县| 马关县| 嘉禾县| 德惠市| 江川县| 泾源县| 全州县| 潮州市| 缙云县| 应用必备| 贞丰县| 磐安县| 韩城市| 天长市| 同仁县| 九龙坡区| 浦东新区| 开阳县| 图们市| 卓资县| 宁乡县| 东阳市| 洪雅县| 澜沧|