結合最近正在學習的L03 laravel教程,做一個基於微信企業號的一個“記事寶”的小應用,理論終究要服務實戰,想透過小專案的一點一點的嘗試,能在發現問題和解決問題的過程中,記錄下專案開發的思路和方法,提高自己的邏輯思維能力和寫作能力。
因為對企業號的流程不是很瞭解,以下內容是對邏輯的一個梳理,增加自己對企業號的瞭解,再結合L03 laravel教程 API開發中socialiteproviders 和 jwt 的使用,來進行開發
功能需求
- 使用者訪問網頁,獲取使用者openid資訊;
- 獲取企業號通訊錄資訊(姓名、手機號碼、職務、部門),分部門展示,可以進行選擇;
- 有釋出頁面,在釋出頁面有標題、內容(富文字編輯框,可上傳圖片、語音輸入*)、開始時間、結束時間、選擇接收任務人和相關人;
- 建立【我的】頁面,展示我的任務和相關任務,每條內容能夠體現任務進展的進度;
- 新訊息的提醒:在我的頁面有數量提醒,任務有新的變化,有針對性的個人提醒(推送卡片訊息),每天未完成的任務有定時提醒(計劃任務)
- 加入騰訊語言識別功能(有待加入亮點);
相關資料
一、企業號開發
- 應用建立
用企業號管理員賬號等到到企業號,點選應用與程式,點選建立應用按鈕進行建立
- 使用者資訊獲取方式
根據企業號開發介面文件, 使用OAuth驗證介面獲取使用者資訊。企業號的cropid、應用的AgentId和Secret,是需要使用的重要資訊,先進行了解
依次點選 我的企業 > 企業資訊
最下方的企業ID(cropid)獲取code
此處的appid為企業的id,redirect_uri的地址為應用將使用的域名地址,agentid為應用id,scope分為三種snsapi_base:靜默授權,可獲取成員的基礎資訊; snsapi_userinfo:靜默授權,可獲取成員的詳細資訊,但不包含手機、郵箱; snsapi_privateinfo:手動授權,可獲取成員的詳細資訊,包含手機、郵箱。,state的值可以為【a-zA-Z0-9】,其他的不用變,我將透過微信開發工具,輸入連結地址後得到了code的值 。
連結 :https://open.weixin.qq.com/connect/oauth2/...獲取access_token
access_token是企業號全域性的唯一票據,介面的呼叫都是需要的,cordid為企業id,cropsecret為應用secret連結:https://qyapi.weixin.qq.com/cgi-bin/gettok... 【請求方式GET】
根據code獲取使用者資訊
,access_token、code已經在上面的步驟中獲取,替換即可
連結 :https://qyapi.weixin.qq.com/cgi-bin/user/g... 【請求方式GET】{ "UserId":"USERID", "DeviceId":"DEVICEID" "user_ticket": "USER_TICKET", "expires_in":7200 }
獲取使用者詳細資訊
根據得到的user_ticket 換取使用者的詳細資訊,使用postman進行測試,user_ticket是json資料,再postman測試時候,需要在標頭檔案加上cotent-type,注意圖片中畫圈的地方,即可獲取完整的使用者資訊
連結 :https://qyapi.weixin.qq.com/cgi-bin/user/g... 【請求方式GET】
本作品採用《CC 協議》,轉載必須註明作者和本文連結