ショートメッセージ認証コードインターフェースAPIの紹介
3595 ワード
天翼開放プラットフォームの住所:http://open.189.cn/
登録が必要です。開発者として実名制で登録して、身分証の電子写真をアップロードして、審査を待ちます。
このプラットフォームは一連の機能を提供して、対外開放して、ゆっくりと研究します。
第一に、認証インターフェース
呼び出しアドレス、GET/POST方式:
https://oauth.api.189.cn/emp/oauth2/v2/authorize
作用:
天翼開放プラットフォームの授権コードAC-Authorization Codeを取得します。
取得手段:
天翼のオープンプラットフォームでアカウントを登録して、身分認証を完成します。
アプリケーションを作成します。天翼開放プラットフォーム上の唯一の標識、つまりapp_を割り当てます。id
天翼オープンプラットフォームからアプリケーションへの鍵情報、ap_secret
第二に、トークンインターフェース
呼び出しアドレス、POST方式:
https://oauth.api.189.cn/emp/oauth2/v2/access_token
作用:
最終的なATアクセストークンを取得しました。
取得手段:
AC授権コードで交換します。
プラットフォームはトークンaccess_にアクセスするために戻ってきます。token及びそれに対応する更新トークンrefresh_token
第三に、信頼コードを取得する。
要求アドレス、Get方式:
http://api.189.cn/v2/dm/randcode/token
作用:
一時的な信頼コードTokenを取得する(この信頼コードは「検証コード下で送信」インターフェースを呼び出すときに使用される)
この信頼コードは3分以内か1回使用されると無効になります。
要求パラメータ:
ap_id プラットフォームはアプリケーションのidに割り当てられます。
access_token トークンインターフェースで取得する
timestamp 現在のタイムスタンプ
sign 署名は他のパラメータと一緒に計算に参加して得られます。
応答結果:
token 新しいトークンを返します。メッセージを送るときに使います。
第四に、確認メッセージの下で送信する。
リクエストアドレス、POST方式:
http://api.189.cn/v2/dm/randcode/send
機能説明:
1.指定された携帯番号に検証コードメッセージを送信する
2.プラットフォームは「検証コード通知住所」に検証コードの内容を送る。
プラットフォームのコールバックアドレス:
http://10.0.61.66:8080/sms/servlet/rcReceive
書いたばかりのservletは、プラットフォームとして検証コードを返すときに呼び出すインターフェースです。
Random CodeServlet.java
JsonUtil.java
登録が必要です。開発者として実名制で登録して、身分証の電子写真をアップロードして、審査を待ちます。
このプラットフォームは一連の機能を提供して、対外開放して、ゆっくりと研究します。
第一に、認証インターフェース
呼び出しアドレス、GET/POST方式:
https://oauth.api.189.cn/emp/oauth2/v2/authorize
作用:
天翼開放プラットフォームの授権コードAC-Authorization Codeを取得します。
取得手段:
天翼のオープンプラットフォームでアカウントを登録して、身分認証を完成します。
アプリケーションを作成します。天翼開放プラットフォーム上の唯一の標識、つまりapp_を割り当てます。id
天翼オープンプラットフォームからアプリケーションへの鍵情報、ap_secret
第二に、トークンインターフェース
呼び出しアドレス、POST方式:
https://oauth.api.189.cn/emp/oauth2/v2/access_token
作用:
最終的なATアクセストークンを取得しました。
取得手段:
AC授権コードで交換します。
プラットフォームはトークンaccess_にアクセスするために戻ってきます。token及びそれに対応する更新トークンrefresh_token
第三に、信頼コードを取得する。
要求アドレス、Get方式:
http://api.189.cn/v2/dm/randcode/token
作用:
一時的な信頼コードTokenを取得する(この信頼コードは「検証コード下で送信」インターフェースを呼び出すときに使用される)
この信頼コードは3分以内か1回使用されると無効になります。
要求パラメータ:
ap_id プラットフォームはアプリケーションのidに割り当てられます。
access_token トークンインターフェースで取得する
timestamp 現在のタイムスタンプ
sign 署名は他のパラメータと一緒に計算に参加して得られます。
応答結果:
token 新しいトークンを返します。メッセージを送るときに使います。
第四に、確認メッセージの下で送信する。
リクエストアドレス、POST方式:
http://api.189.cn/v2/dm/randcode/send
機能説明:
1.指定された携帯番号に検証コードメッセージを送信する
2.プラットフォームは「検証コード通知住所」に検証コードの内容を送る。
プラットフォームのコールバックアドレス:
http://10.0.61.66:8080/sms/servlet/rcReceive
書いたばかりのservletは、プラットフォームとして検証コードを返すときに呼び出すインターフェースです。
Random CodeServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gc.sms.util.JsonUtil;
import com.gc.sms.util.StringUtil;
public class RandomCodeServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String identifier = req.getParameter("identifier");
String rand_code = req.getParameter("rand_code");
String res_code = "0";//0
if(StringUtil.hasNull(identifier, rand_code)) {
res_code = "1";// 1
}
resp.setContentType("application/json;charset=UTF-8");
PrintWriter pw = new PrintWriter(resp.getOutputStream());
Map<String,Object> map = new HashMap<String,Object>();
map.put("res_code", res_code);
String jsonString = JsonUtil.toJson(map);
pw.print(jsonString);
pw.flush();
}
}
JsonUtil.java
package com.gc.sms.util;
import java.util.Map;
import emp.tool.json.JSONException;
import emp.tool.json.JSONObject;
public class JsonUtil {
public static String toJson(Map<String,Object> paramsMap) {
JSONObject json = new JSONObject();
try {
for (String key : paramsMap.keySet()) {
json.put(key, paramsMap.get(key));
}
return json.toString();
}catch(JSONException e) {
e.printStackTrace();
throw new RuntimeException(" json ", e.getCause());
}
}
}