釘釘小程序開發指南 - 調研篇

項目背景

咱們用的框架vuereact等都有他們的生命週期,一樣咱們工做的每一家公司也有其發展的生命週期,不一樣於vuereact,公司的生命週期大體能夠分爲初創期、成長期、成熟期、衰退期四個階段。前端

企業創新曲線.jpeg

若是公司不想在衰退期到來時破產倒閉,就須要在成長期或者成熟期主動開啓一輪新的週期,去尋找新的業務增加點即實現企業發展的第二曲線。vue

創新第二曲線.png

文章開頭聊的這些是爲了介紹項目的背景以及公司的戰略意圖,公司交給我這個任務就是想作一個新的產品,打造出一條新的業務線,構築企業發展的第二曲線。react

釘釘應用分類

好了,言歸正傳,如何快速開發一個釘釘應用,在釘釘開放平臺有相關的教程,跟着跑一遍就能把一個簡單的demo作出來。這篇文章不是一篇教程,而是一篇釘釘生態的調研文章,哪些能夠作,哪些不能作等等。web

釘釘應用總共能夠分紅以下幾類:小程序

  • 第三方企業應用
  • 企業內部應用
  • 第三方我的應用
  • 移動接入應用
應用類型 開發者 使用人員 支持的能力 可否上傳到釘釘應用市場
第三方企業應用 應用服務商的開發者 購買開通該三方應用的企業內部人員
  • 小程序
  • H5微應用
企業內部應用 企業內部開發者或委託的定製服務商開發者 安裝了該應用的企業內部人員
  • 小程序
  • H5微應用
  • 機器人
第三方我的應用 應用服務商的開發者 釘釘我的用戶
  • 小程序
移動接入應用
  • 企業內部開發者
  • 應用服務商的開發者
要接入的應用的用戶
  • 登陸(釘釘掃碼和使用釘釘帳號登陸)
  • 分享(將應用分享到釘釘)
-

第三方企業應用企業內部應用是使用頻率最高的釘釘應用;移動接入應用 只支持登陸分享兩個功能,是一個比較底層的基礎功能應用,跟公司的業務關聯不大;第三方我的應用 只支持小程序開發,跟企業應用相比限制更多,所擁有的能力更少。微信小程序

企業內部應用

釘釘開放平臺的第一個教程就是 開發和部署企業內部應用,開發企業內部的釘釘應用須要登陸 釘釘開發者後臺,在這以前你須要向公司申請成爲管理員或者子管理員,而後就能夠跟着官方的教程一步一步走了。當全部步驟走完開始調登陸接口,獲取用戶信息的時候,接口返回errorapi

登陸權限缺失.png 最後排查發現是接口沒有加相應權限, 在後臺加上相應的權限後, 接口返回了正確的數據:緩存

接口權限配置.png

用戶信息展現.png

企業內部應用的使用者是安裝了該應用的企業內部人員,雖然經過一些操做能讓第三方企業使用,好比:服務器

先讓第三方公司在釘釘後臺手動建立一個企業內部應用(微應用),以後再把微應用中的AppID、corpId、agentId等等應用信息發給本企業,本企業再到程序裏添加進去,可是一個企業內部應用(微應用)白名單中IP只能設一次。若是本企業這邊設置了服務器的IP,第三方公司就不能在他們那個微應用中設置這個IP。一種解決方案是:首先讓第三方公司購買一臺服務器,而後再把程序中的有IP限制的方法(也就是調用釘釘接口的地方)複製出來部署到第三方公司購買的服務器中,而後第三方公司的微應用中的白名單設置成他們購買的那臺服務器IP微信

可是當使用該企業內部應用的第三方公司愈來愈多的時候,問題也會暴露的很明顯,由於項目部署在第三方公司本身的服務器上,在後續的迭代過程當中一旦要修改調用釘釘接口的地方,要在全部第三方公司的服務器上將項目從新部署一遍,很是的麻煩,因此 企業內部應用 應該給企業內部人員使用。若是要想給第三方公司使用,就應該使用 第三方企業應用

第三方企業應用

什麼是第三方企業應用

第三方企業應用是由應用服務商開發的第三方企業應用,能夠經過上架到釘釘應用廣場售賣給釘釘的企業組織使用,也能夠經過服務商在開發者後臺建立應用分發項目進行線下應用分發給企業組織使用。是可以實現開發一個應用,受權分發給不一樣的組織使用的應用類型。

企業內部應用 同樣,第三方企業應用也支持小程序H5微應用,但有兩點須要特別注意:

  1. 應用分發方式
  2. 應用受權的開發
應用分發方式

應用分發方式主要有兩種,都須要入駐成爲釘釘【應用服務商】

  • 釘釘應用廣場分發

    應用經過審覈後便可上架到應用廣場推廣。應用上架後,企業管理員能夠在釘釘的應用廣場上搜索,找到須要的第三方企業應用,開通後讓企業內的員工使用

  • 自有渠道分發

    可經過釘釘提供的接口生成線下推廣二維碼,在服務商自有渠道或釘釘端外渠道(例如外投宣傳廣告、第三方官網等)主動推送應用給管理員,由管理員受權後安裝並使用。

在開發應用前,須要先肯定應用的分發方式,不一樣的分發方式決定了應用的接口權限,部署要求,和交付體驗。

分發方式 使用場景 接口權限 部署要求 安裝方式
自主渠道,
定向分發
定向定量分發
  • 線下項目限定範圍批量安裝
  • 頂組織給子組織批量安裝
可申請企業級接口權限,及優先使用更多共創接口 阿里雲部署。個別行業容許本地部署,需審批
  • 受權安裝
  • 靜默安裝
  • 工做臺模板安裝
  • 關聯組織安裝
釘釘廣場展現,
線上交付
上架,上廣場 上架到釘釘應用廣場,可被釘釘用戶搜索 通用權限 必須部署到聚石塔 管理員在應用廣場開通
上架,不上廣場 自有渠道線下拓客 通用權限 阿里雲部署 二維碼線下開通
應用受權

這裏的受權相似於微信小程序裏用戶的受權,只不過微信小程序裏是單個的用戶,而釘釘裏是整個企業。

應用受權流程以下:

  1. 定製服務商應用和服務商須要經過接口獲取受權企業的access_token。調用服務端API獲取應用資源時,須要經過access_token來鑑權調用者身份進行受權。

  2. 註冊回調。

    第三方企業應用必需要註冊回調,接收企業受權開通應用事件,用於通知應用哪一個組織開通了本應用,第三方應用後臺收到此事件後,須要初始化企業信息,完成應用的開通。

  3. 受權應用開通。

    釘釘應用廣場中的第三方企業應用,企業管理員能夠受權開通。受權開經過程中須要接收企業開通的回調事件,釘釘支持不一樣的回調推送方式。回調方式不一樣,應用開通的流程也不一樣。

    推薦使用RDS和HTTPSync推送方式,該方式的應用受權流程更簡單。總共有三種推送方式,還有一種是HTTP數據推送(不推薦)。

  4. 接入服務端能力。

    第三方企業應用必須接入釘釘免登、通信錄和工做通知能力。

    • 免登開發

      免登指企業員工在釘釘內使用第三方企業應用時,無需輸入帳號密碼即可直接登陸該應用。能夠將用戶信息保存在前端緩存(dd.setStorage)或者cookie中,避免每次進入應用都調用釘釘接口進行免登。

      免登接入流程以下:

      1. 獲取免登受權碼Code。
      2. 經過調用service/get_corp_token接口獲取企業受權憑證(access_token)。
      3. 調用user/getuserinfo接口獲取用戶的userid。
      4. 經過topapi/v2/user/get接口獲取用戶詳情信息。
    • 通信錄

      獲取應用安裝組織的用戶基本信息(不含手機號),用於用戶添加、受權等管理。

    • 工做通知

      經過工做通知接口向用戶發送釘釘工做通知。

  5. 前端開發

    若是開發的是H5微應用,須要進行JSAPI鑑權。

總結

本篇主要介紹了釘釘應用的類型,着重介紹了 企業內部應用第三方企業應用 ,以及釘釘應用的 分發方式應用受權方式 。但願讀者能對釘釘應用有一個大體的瞭解,想要具體和詳細的瞭解,能夠前往 釘釘開放平臺 翻閱相關教程。

相關文章
相關標籤/搜索