首页 > 代码库 > 关于中国电信天翼开放平台短信接口的一些使用
关于中国电信天翼开放平台短信接口的一些使用
关于获取访问令牌的部分的说明:
天翼短信接口的开发文档链接:http://open.189.cn/index.php?m=content&c=index&a=lists&catid=62
实际上获取令牌非常简单,就是根据短信接口的说明把接口地址和要求的参数组装好,然后发送一个post请求,然后就能够获取到返回的json格式的字符串。
根据刚刚上面的短信接口开放文档说明,我们选择获取令牌最简单的方式,也就是文档里的“应用场合二”,
应用场合二:在oAuth 2.0的标准Client Credentials授权模式(简称CC授权模式)下,应用可凭借自身的应用ID和应用密钥,通过调用该接口,直接获得无需用户授权的AT访问令牌(User-Independent Access Token,简称UIAT)。
不同于普通的AT令牌,UIAT令牌其只能用于调用无需用户授权的开放API接口,如获取音乐榜单等;而普通的AT令牌则既可用于调用需要用户授权的开放API接口,又可用于调用无需用户授权的开放接口。UIAT令牌多用于无需用户登录的合作应用场合,尽管其使用范围较普通AT令牌相对受限,但二者的数据形式是基本一致的。
调用地址:https://oauth.api.189.cn/emp/oauth2/v3/access_token
请求方式:post
承载协议:https
参数:
以下代码可以正常获取token:
1 package com.wyl.sms; 2 3 import java.io.IOException; 4 5 import com.wyl.http.UtilHttp; 6 7 public class UtilSMS { 8 private static String APP_ID = "你自己的appid"; 9 private static String APP_SECRET = "你自己的secret"; 10 //获取访问令牌的接口地址 ,详见 http://open.189.cn/index.php?m=content&c=index&a=lists&catid=62 接口文档 11 private static String URL_GET_TOKEN = "https://oauth.api.189.cn/emp/oauth2/v3/access_token"; 12 13 14 /** 15 * 组装参数 16 * 详见:http://open.189.cn/index.php?m=content&c=index&a=lists&catid=62 17 * @param refresh_token 18 * @param app_id 19 * @param app_secret 20 * @param state 21 * @return 22 */ 23 @SuppressWarnings("all") 24 private static String buildPara(String app_id,String app_secret,String state){ 25 StringBuilder entity = new StringBuilder(); 26 entity.append("grant_type="+"client_credentials"); 27 entity.append("&app_id="+app_id); 28 entity.append("&app_secret="+app_secret); 29 entity.append("&state="+state); 30 return entity.toString(); 31 } 32 /** 33 * 获取访问令牌 34 * @return 返回电信服务器返回的json格式的token等信息 35 * @throws IOException 36 */ 37 public static String getAccessToken() throws IOException{ 38 String weburl = URL_GET_TOKEN+"?"+buildPara(APP_ID, APP_SECRET, "320"); 39 String token = UtilHttp.sendPostRequest(weburl); 40 return token; 41 } 42 /** 43 * 正常获取到token 44 * @param args 45 * @throws IOException 46 */ 47 public static void main(String[] args) throws IOException { 48 System.out.println("token:"+getAccessToken()); 49 } 50 }
UtilHttp.java:
1 package com.wyl.http; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.HttpURLConnection; 7 import java.net.URL; 8 9 public class UtilHttp { 10 public UtilHttp(){ 11 12 } 13 /** 14 * 根据传入的url地址,发送post请求 15 * @param weburl 16 * @return 返回请求返回的数据,转换成String 17 * @throws IOException 18 */ 19 public static String sendPostRequest(String weburl) throws IOException{ 20 URL url = new URL(weburl); 21 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 22 conn.setDoInput(true); 23 conn.setDoOutput(true); 24 conn.setRequestMethod("POST"); 25 conn.connect(); 26 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 27 String line; 28 StringBuilder builder = new StringBuilder(); 29 while ((line = reader.readLine())!=null) { 30 builder.append(line); 31 } 32 return (builder.toString()==null?"":builder.toString()); 33 } 34 }
,代码执行结果:
关于中国电信天翼开放平台短信接口的一些使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。