友好速搭

API SDK
SDK 介绍 SDK 列表

Java

#Java SDK 源码^

yhsd-api-java

友好速搭 API SDK for Java

安装

maven

<dependency>
    <groupId>com.youhaosuda</groupId>
    <artifactId>yhsd-sdk-java</artifactId>
    <version>1.0.2</version>
</dependency>


gradle

compile 'com.youhaosuda:yhsd-sdk-java:1.0.2'


或者你也可以直接下载打包好的 jar。

介绍

/**
 * 用于授权和验证
 */
Auth auth;
/**
 * 用于调用各个Api
 */
Api api;
/**
 * api返回的结果
 * @method getHeader @return {Map<String,String>} http header
 * @method getBody @return {String} http body
 * @method getStatusCode @return {int} http status code
 */
 YhsdResponse response;

授权

/**
 * 获得一个Auth实例,
 *
 * @param {String} appKey      插件/应用的appKey,可在合作伙伴后台获取
 * @param {String} appSecret   插件/应用的appSecret,可在合作伙伴后台获取
 * @param {String} redirectUrl 用于开放应用,接受code等参数的地址,详情见文档开放应用的第四步
 * @param {String[]} scope       用于公有插件/应用,表示权限 详情见https://docs.youhaosuda.com/app/553e333a0abc3e6f3e00001f
 * @return {Auth} Auth的实例
 */
String appKey = "your app key";
String appSecret = "your app secret";
String redirectUrl = "your redirectUrl";
String[] scope = {"read_basic"};
Auth auth = Yhsd.getInstance().auth(appkey,appSecret,redirectUrl);//私有
auth = Yhsd.getInstance().auth(appkey,appSecret,redirectUrl,scope);//公有

/**
 * 验证请求合法性
 *
 * @param {String} hmac  request中的的hmac
 * @param {String} param 需要验证的内容
 * @return {boolean} 验证结果
 */
auth.verifyHmac(hmac,param);

/**
 * 获取授权地址,用于开放应用
 *
 *
 * @param {String} shopKey shopKey,可在请求中获取
 * @param {String} state   可选,若包含此参数,则在用户授权后跳转,将这个参数返回
 * @return {String} 授权地址
 */
auth.getAuthorizeUrl(shopKey, state);

/**
 * 获取token
 *
 * @param {String} code 公有应用需要填写此参数 可在请求中获取,详情见官网更多=>文档中心=>应用开发=>开放API=>获取授权=>第四步
 * @return {YhsdResponse} token
 *
 */
auth.getToken(code);

/**
 * 获取第三方接入支持的用户加密字符串
 *
 * @param {String} customerData 用户信息的json字符串
 * @param {String} strKey 接入密钥
 * @return {String} customerDataEncrypt 加密后的用户信息字符串
 *
 */
auth.thirdAppAesEncrypt(customerData,strKey)

例子

String appKey = "your app key";
String appSecret = "your app secret";
String redirectUrl = "your redirectUrl";
String[] scope = {"read_basic"}; //私有应用不需要此项参数

Auth privateAppAuth = Yhsd.getInstance().auth(appkey,appSecret,redirectUrl); //私有
Auth publicAppAuth = Yhsd.getInstance().auth(appkey,appSecret,redirectUrl,scope); //公有

YhsdResponse privateTokenResp = privateAppAuth.getToken(); //私有应用
privateTokenResp.getBody();

String code = "your code";
YhsdResponse publicTokenResp  = publicAppAuth.getToken(code) ;//公有应用
publicTokenResp.getBody();

使用 API

/**
 * 初始化
 * @param {String}  token
 * @return {Api} Api的实例
 */
String token = "your token";
Api api = Yhsd.getInstance().api(token);

/**
 * 发送GET请求
 * @param {String} path 请求的路径
 * @param {Map} param 可选,请求的参数
 * @return {YhsdResponse} api返回的结果
 *
 */
api.get(path);
api.get(path, param);

/**
 * 发送 PUT 请求
 * @param {String} path 请求的路径
 * @param {String} json 请求的json字符串
 * @return {YhsdResponse} api返回的结果
 */
api.put(path, json);

/**
 * 发送 POST 请求
 * @param {String} path 请求的路径
 * @param {String} json 请求的json字符串
 * @return {YhsdResponse} api返回的结果
 */
api.post(path, json);

/**
 * 发送 DELETE 请求
 * @param {String} path 请求的路径
 * @return {YhsdResponse} api返回的结果
 */
api.delete(path);

例子

String token = "your token";
Api api = Yhsd.getInstance().api(token);
// 获取顾客列表
Map<String,String> param = new HashMap();
map.put("fields","id,name");
YhsdResponse resp = api.get('customers', param);
Map header = resp.getHeader()//api返回的header
int statusCode = resp.getStatusCode()//api返回的http StatusCode
String body = resp.getBody()//api返回的header
// 获取指定顾客
resp = api.get('customers/100');
Map header = resp.getHeader();
int statusCode = resp.getStatusCode();
String body = resp.getBody();

本地调试

String apiAddr = "your local api server address";
String appAddr = "your local app server address";
String httpProtocol = "your http protocol";
Yhsd yhsd = Yhsd.getInstance(apiAddr,appAddr,httpProtocol);//api,auth调用方式不变
友好速搭,让商业更简单
0元开始
联系客服