為讓開發者快速理解開發流程,本篇章展示如何一步步設計一個能與企業后臺互動的自建應用。
一文看懂企業微信開發簡易教程-1.jpg (23.6 KB, 下載次數: 15)
下載附件
2024-8-9 14:17 上傳
添加自建應用
登錄企業微信管理端 -> 應用與小程序 -> 應用 -> 自建,點擊“創建應用”,設置應用logo、應用名稱等信息,創建應用。
創建完成后,在管理端的應用列表里進入該應用,可以看到agentid、secret等信息,這些信息在使用企業微信API時會用到。
創建完成后,該應用會自動出現在可見范圍內的成員的企業微信終端上(包括手機端、pc端、微信插件)
使用工具調試api
我們已經創建好一個自建應用,且拿到了可用的應用id及secret,如何調用api控制這個應用呢?下面以發消息為例說明如何調試api接口。
調用api的過程,本質上就是發送http請求給企業微信后臺,在正式開發前,我們可以使用工具模擬http請求調試api。這里以 postman 為例(下載地址,使用方法略),當然你也可以使用其它http模擬工具。
發消息api見發送應用消息,可以看到其實就是一個post請求
請求方式:POST(HTTPS)
請求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
post 參數為 access_token 和 消息體。
1.獲取access_token
參考開始開發,access_token是應用調用api的憑證,由 corpid和corpsecret換取。
請求方式:GET(HTTPS)
請求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
使用postman發送這樣一個GET請求即可得到access_token(請把截圖中的corpid、corpsecret換為自己的corpid、應用secret)
一文看懂企業微信開發簡易教程-2.jpg (46.86 KB, 下載次數: 13)
下載附件
2024-8-9 14:17 上傳
2.構造消息體
參考發送應用消息,可以發送文本、圖片、視頻等多種類型的應用消息,這里以最簡單的文本消息為例:(注意修改touser、agentid為自己想要的接收者userid列表、應用id)
{ "touser" : "abelzhu|ZhuShengben", "msgtype" : "text", "agentid" : 1000002, "text" : { "content" : "我就試一下" }, "safe":0}3.發送消息
如下圖示,以上面兩步得到的access_token和消息體為參數,在postman中發送post請求即可(紅色箭頭所指為需要注意的點)
一文看懂企業微信開發簡易教程-3.jpg (41.71 KB, 下載次數: 15)
下載附件
2024-8-9 14:17 上傳
如果發送成功,在接收者的企業微信中的相應應用里,會收到一條文本消息。
一文看懂企業微信開發簡易教程-4.jpg (8.51 KB, 下載次數: 11)
下載附件
2024-8-9 14:17 上傳
實際上,企業微信提供了一套更方便的模擬工具,見開發者工具的“接口調試工具”。
debug模式調用接口
在開發過程中,可能由于你調用的參數有問題,我們的接口會返回errcode, 此時你可以在“全局錯誤碼說明”查閱相應的錯誤原因。有時候可能根據錯誤碼說明你依舊不知道自己的參數在哪里出錯,這時候你可以在接口請求url里加上debug=1參數(暫未支持微盤相關接口),之后從接口返回的errmsg復制出hint值,再用以下工具進行查詢,我們會返回你請求的完整參數(包括header與body)。
請求示例:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN&debug=1
查詢頁面:https://open.work.weixin.qq.com/devtool/query
注意: debug模式有使用頻率限制,同一個api每分鐘不能超過5次,所以在完成調試之后,請記得要去掉debug=1參數。
使用php版本demo開始開發
為體驗以代碼的方式調用api的樂趣,下面以php開發語言為例,開發者需有一定的php基礎。
從github下載示例代碼。可以看到代碼結構為:
├── api // API 接口
│ ├── datastructure // API接口需要使用到的一些數據結構
│ ├── examples // API接口的測試用例
│ ├── README.md
│ └── src // API接口的關鍵邏輯
├── callback // 消息回調的一些方法
├── config.php // 基礎配置
├── README.md
└── utils // 一些基礎方法
在 api/example/ 路徑下,有個 config.php 文件,用于配置自己的企業id、應用id等信息。
如下圖所示,修改 CORP_ID、APP_ID、APP_SECRET 為自己的企業信息。
一文看懂企業微信開發簡易教程-5.jpg (46.07 KB, 下載次數: 17)
下載附件
2024-8-9 14:17 上傳
在 api/example/ 路徑下,有個發送消息的示例 MessageTest.php ,如下圖所示,修改 touser(發送給的成員id列表)、toparty(發送給的部門id列表)、totag(發送給的標簽id列表)等參數為自己的企業的信息。
一文看懂企業微信開發簡易教程-6.jpg (19.4 KB, 下載次數: 20)
下載附件
2024-8-9 14:17 上傳
執行 MessageTest.php 即完成消息發送(調試期間建議在根目錄的 config.php 文件里,配置DEBUG參數為true,如果有失敗,會打印錯誤信息)。如果發送成功,接收者的應用里會收到一條消息。
一文看懂企業微信開發簡易教程-7.jpg (39.51 KB, 下載次數: 12)
下載附件
2024-8-9 14:17 上傳
使用應用菜單
要實現這樣的簡單功能:用戶點擊應用菜單后,展現一個靜態網頁,告知企業后臺系統的內存使用情況。
需要使用Apache搭建企業后臺服務,請自行配置好php和Apache環境。
部署應用后臺
我們需要在自己的服務器維護一個頁面。以常用的 Apache + php 為例,搭建一個簡單的企業后臺。
在 Apache 的 website 目錄下,創建一個頁面 getmemoryusage.php,該文件內容如下:
<?phpecho "system memory usage " . memory_get_usage() . "B\n";?>頁面非常簡單,通過系統函數獲取內存使用情況,并打印出來。
這個頁面的地址為 http://ip:port/getmemoryusage.php (如何得到ip、port,請參考Apache文獻,此處不詳述)
如果有正確配置 Apache 服務,在當前瀏覽器里輸入 http://ip:port/getmemoryusage.php ,可以看到頁面。
如何讓這個頁面在企業微信應用中展現呢?
配置應用菜單
在管理端進入上面創建好的自建應用,點擊“自定義菜單”項,菜單名自取,菜單內容選“跳轉到網頁”,URL填上 http://ip:port/getmemoryusage.php ,保存并發布,即完成了添加應用菜單的過程。
應用菜單發布后,從企業微信終端進入該應用,可以看到菜單已經更新。點擊菜單即可看到企業后臺系統的內存使用情況了!
注意,上面的URL在真實使用時必須外網可訪問。如果只是用于測試,外網不可訪問,那么測試的終端必須與頁面所在服務器在同一個網段,或者使用內網穿透工具(如花生殼)。
設計更有趣的應用
以上過程只是建立了一個非常簡單的應用。企業微信提供了多達近200個api,開發者可以使用這些api實現更多豐富多彩的功能。 |
|