
云原生 API 網關 APISIX 入門教程
在當今數字化轉型的浪潮中,企業對于高效、安全且功能豐富的API服務需求日益增長,而釘釘API開放平臺正是滿足這一需求的佼佼者。作為一款集辦公、管理、溝通于一體的企業級應用平臺,釘釘不僅為企業提供了全面的數字化解決方案,更通過其API開放平臺,為開發者們打開了無限的創新空間。為了幫助廣大開發者快速上手并充分利用釘釘API開放平臺的強大功能,本文特別推出了“釘釘API開放平臺訪問token分步指南”。本指南將詳細闡述如何一步步獲取釘釘API的訪問token,這是解鎖釘釘API各項服務的關鍵。通過一系列條理清晰、易于執行的步驟,我們將引導你順利完成從注冊開發者賬號到成功獲取訪問token的全過程。無論你是希望開發企業應用、提升辦公效率,還是在數據處理、業務邏輯等方面尋求創新,獲取釘釘API的訪問token都將是你實現目標的重要一步。
1. 登錄釘釘開發者后臺。說明只有管理員和子管理員可登錄開發者后臺。
2.在應用開發頁面,選擇第三方個人應用,然后單擊創建應用。
3.填寫應用的基本信息,然后單擊確定創建。
4.單擊憑證與基礎信息獲取應用的AppId和AppSecret。
建議用戶信息保存在前端緩存中(dd.setStorage)或者cookie中,避免每次進入應用都調用釘釘接口進行免登。
1.獲取小程序免登授權碼。
調用dd.getAuthCode接口獲取小程序免登授權碼。
免登是指用戶進入應用后,無需輸入釘釘用戶名和密碼,應用程序可自動獲取當前用戶身份登錄系統的流程。企業應用和個人應用的免登授權碼均可通過該JSAPI獲取。
dd.getAuthCode({
success:function(res){
/*{
authCode: 'hYLK98jkf0m' //string authCode
}*/
},
fail:function(err){
}
});
返回說明:
參數 | 說明 |
authCode | 授權碼。有效期5分鐘,且只能使用一次,使用后會失效。 |
2.獲取用戶詳情。通過sns/getuserinfo_bycode接口獲取用戶詳情信息,詳情請參考獲取用戶基本信息。
示例代碼
/**
* Quick-Start示例代碼
* 實現了最簡單的獲取個人身份驗證功能
*/
@RestController
public class IndexController {
private static final Logger bizLogger = LoggerFactory.getLogger(IndexController.class);
/**
* 歡迎頁面
*/
@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String welcome() {
return "welcome";
}
/**
* 釘釘用戶登錄,顯示當前登錄用戶基本信息
* @param authCode 由E應用前端JSAPI獲取到的臨時授權碼
*/
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public Object login(@RequestParam(value = "authCode") String authCode) {
Long start = System.currentTimeMillis();
ServiceResult serviceResult;
try {
DefaultDingTalkClient client = new DefaultDingTalkClient(URL_GET_USERINFO_BY_CODE);
OapiSnsGetuserinfoBycodeRequest req = new OapiSnsGetuserinfoBycodeRequest();
req.setTmpAuthCode(authCode);
OapiSnsGetuserinfoBycodeResponse response = client.execute(req,Constant.APP_ID,Constant.APP_SECRET);
serviceResult = ServiceResult.success(response.getUserInfo());
return serviceResult;
} catch (Exception e) {
bizLogger.error("loginFailed,authCode"+authCode,e);
serviceResult = ServiceResult.failure("-1",e.getMessage());
//返回結果
}
bizLogger.info("cost:"+(System.currentTimeMillis()-start));
return serviceResult;
}
}
開發者可通過消息高效觸達用戶,通知用戶當前行為的結果及狀態等,同時可在消息中配置應用內跳轉頁面地址。當用戶查看消息時,在消息卡片點擊“進入應用查看”,進入開發者配置的應用內指定頁面;
1.開發者在用戶提交的form表單上聲明屬性report-submit="true"
。
說明該屬性需要在真機環境下生效。
<form onSubmit="formSubmit" report-submit="true">
<view class="section section_gap">
<view class="section__title">表單類型</view>
<input name="text" maxlength="10" placeholder="最大輸入長度10" />
</view>
<view class="btn-area">
<button formType="submit">推送消息</button>
</view>
</form>
2. 通過e.detail.formId
可以獲取推送消息臨時授權碼,在處理onsubmit事件時,需將臨時授權碼code一起存儲到服務器。
formSubmit(e){
// 通過e.detail.formId可以獲取到推送消息的臨時授權碼code
dd.httpRequest({
url: 'http://表單提交的服務端地址?code='+e.detail.formId,
method: 'POST',
headers:{"Content-Type":"application/json"},
data: {
},
dataType: 'json',
success: function(res) {
if(res.data.success){
dd.alert({content:'form表單提交處理成功'});
}else{
dd.alert({title:"form表單提交處理失敗",
content:JSON.stringify(res)});
}
},
fail: function(res) {
dd.alert({content: 'form表單提交處理'});
}
});
}
3. 當業務場景需要給用戶推送消息時,服務端使用推送消息接口給用戶推送消息。
public static String sendMsg() throws RuntimeException {
try {
DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/sns/send_msg");
OapiSnsSendMsgRequest req = new OapiSnsSendMsgRequest();
req.setCode(code);
OapiSnsSendMsgRequest.Eapp eapp = new OapiSnsSendMsgRequest.Eapp();
eapp.setImg("@lALPBY0V5EuR4oDNAcrNAs4");
eapp.setContent("非常感謝您的反饋,非常感謝您的反饋。 \n\n"+System.currentTimeMillis());
eapp.setTitle("工單已回復");
eapp.setLink("eapp://page/index?param=aaa");
OapiSnsSendMsgRequest.Msg msg = new OapiSnsSendMsgRequest.Msg();
msg.setMsgtype("eapp");
msg.setEapp(eapp);
req.setMsg(msg);
OapiSnsSendMsgResponse response = client.execute(req,Constant.APP_ID,Constant.APP_SECRET)
} catch (ApiException e) {
bizLogger.error("sendMsg failed", e);
throw new RuntimeException();
}
}
Q:如何找到釘釘 API開放平臺
A:冪簡集成是國內領先的API集成管理平臺,專注于為開發者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關鍵詞搜索API(例如,輸入’釘釘 API開放平臺‘這類品類詞,更容易找到結果)、或者從API hub分類頁進入尋找。
Q:連接器適用于哪些場景?
A:企業開通使用釘釘的官方應用、釘釘三方企業應用(即釘釘應用市場上的應用)、同時企業已經購買了自有系統,連接器可以實現釘釘的官方應用與釘釘三方企業應用數據互通、釘釘官方應用與企業自有系統數據互通、釘釘三方企業應用與企業自有系統數據互通。
Q:連接器中包含三方連接器和企業自建連接器,應該如何選擇?
A:
Q:企業客戶在哪里可以開通使用?
A:如果你購買的釘釘第三方企業應用已經創建了連接器應用,可以在開發者后臺?>?連接平臺?>?自建連接流中直接開通授權適用。
Q:連接器和應用開放的API是什么關系?
A:連接器本質是一組API的集合。API通過聲明觸發事件和執行動作配置成為了連接器。連接器包括觸發事件、執行操作、數據模型。目前連接器主要支持不同應用之間發送和接收數據。例如,當在銷幫幫中新簽訂一個客戶訂單的時候,同步客戶數據、訂單數據到BOSS管賬中。
除了釘釘 API開放平臺,還有其他替代服務商也提供類似api服務,例如:
yosmart API開放平臺、Homey API開放平臺、plumsail API開放平臺
更多競品可以在冪簡集成開放平臺中找到。
Q:釘釘 API開放平臺這個密鑰還適用于哪些api?
獲取用戶token、獲取第三方應用授權企業的accessToken、獲取企業開通應用后的授權信息
本文“釘釘API開放平臺訪問token分步指南”為開發者們提供了一份詳盡而實用的操作指南,旨在幫助他們輕松獲取并有效利用釘釘API開放平臺的強大功能。從注冊開發者賬號、完成身份認證,到最終成功獲取訪問token,每一步操作都進行了詳細闡述,并配以清晰的步驟說明,確保開發者能夠順利完成整個流程。我們深知,獲取訪問token只是利用釘釘API的第一步。因此,在本文中,我們也特別強調了獲取token后應進行集成測試和可用性驗證的重要性。這是確保API能夠順利集成到應用中,并發揮最佳效果的關鍵環節。通過測試,開發者們可以及時發現并解決潛在的問題,為后續的開發工作奠定堅實的基礎。本文為開發者們搭建了一個便捷的橋梁,幫助他們成功接入釘釘API開放平臺,將這一強大的企業級服務轉化為實際應用的價值。我們相信,通過本文的指導,開發者們將能夠更加高效、便捷地利用釘釘API開放平臺的資源,推動項目的創新與發展,提升應用的性能和用戶體驗,為企業數字化轉型注入新的活力。