釘釘小程序開發--獲取用戶詳情

此篇內容舉例爲釘釘小程序企業內部開發

1.進入釘釘小程序開發者平臺,開通通訊錄讀寫權限、手機號信息等
在這裏插入圖片描述
2.得到小程序appkey以及appsecret
在這裏插入圖片描述
3. 根據appkey和appSecret獲取 access_token

async function getAccessToken() {
  return new Promise((resolve, reject) => {
    dd.httpRequest({
      url: 'https://oapi.dingtalk.com/gettoken?appkey=對應值&appsecret=對應值',
      success: function(res) {
        console.log("獲取access_token");
        console.log(res.data);
        access_token = res.data.access_token;
        resolve(res)
      }
    })
  })
}

4.獲取免登授權碼(這個方法api文檔提供)

 dd.getAuthCode({
      success: function(res) {
        console.log("免登授權碼")
        console.log(res)
        authCode = res.authCode
      }
    });

5.根據access_token獲取userid

 async function getUserid() {
      return new Promise((resolve, reject) => {
        dd.httpRequest({
          url: 'https://oapi.dingtalk.com/user/getuserinfo?access_token=' + access_token + '&code=' + authCode,
          success: function(res) {
            console.log("獲取userid");
            console.log(res.data);
            userid = res.data.userid
            resolve(res)
          }
        })
      })
    }
  1. 根據access_token和userid獲取用戶詳情
async function getUserDetail() {
      return new Promise((resolve, reject) => {
        dd.httpRequest({
          url: 'https://oapi.dingtalk.com/user/get?access_token=' + access_token + '&userid=' + userid,
          success: function(res) {
            console.log("用戶詳情");
            console.log(res);
            resolve(res)
          }
        })
      })
    }

7.依次執行函數即可得到用戶詳情

    await getAccessToken();
    await getUserid();
    await getUserDetail();

說明:由於釘釘提供的dd.httpRequest方法爲異步方法,而此處各種id的獲取具有依賴關係,爲保證請求依次執行使用了promise、async以及await,雖是異步,卻具有同步的效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章