釘釘的客戶端開發和服務端有乙個重要的區別,服務端只需要得到access_token就可以了,而客戶端還需要進一步換取jsticket。所以我們要進行客戶端的開發,第一步就是得到jsticket。又由於jsticket有7200秒的限制,而且每請求一次前面的就會失效,為此我們需要做乙個快取層來儲存。
首先我們來看快取層的**
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ddsdk
;//使用單例模式以確保併發時例項始終是同乙個
return _instance;
}#endregion
private dictionary_caches;
private ******cacheprovider()
#region getcache
/// /// 獲取快取
///
///
///
public object getcache(string key)
/// /// 獲取快取
///
///
///
///
public t getcache(string key)
t result = (t)obj;
return result;
}#endregion
#region setcache
/// /// 設定快取
///
///
///
///
public void setcache(string key, object value, int expire = 300)
#endregion
}}
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ddsdk
}
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ddsdk
set
}private string _key;
public string key
set
}#endregion
#region 內部變數
/// /// 插入時間
///
private datetime _inserttime;
/// /// 過期時間
///
private int _expire;
#endregion
#region 建構函式
/// /// 建構函式
///
/// 快取的key
/// 快取的value
/// 快取的過期時間
public cacheitem(string key, object value, int expire)
#endregion
#region expired
/// /// 是否過期
///
///
public bool expired()
#endregion
}}
**中最關鍵的是快取的單例getinstance,這樣確保了全域性的一致性。如果需要進一步強化,可以考慮使用lock來實現更結實的單例模式。
下面我們來獲取jsticket.
#region fetchjsticket function
/// /// 獲取js票據
///
///
///
public static jsticket fetchjsticket()
return jsticket;
}#endregion
namespace ddsdk
public int expires_in
}}
呼叫fetchjsticket就可以得到js票據了,並且內部已經作了相應的快取處理。
python開發釘釘小程式 (一)獲取token
1 在工程中加入釘釘python版sdk,注意目前這個版本都是基於python2的,要自己轉換成python3。使用python3自帶的2to3功能進行轉換 cmd 執行 跳轉到 2to3.py 檔案所在目錄 輸入 python 2to3.py w 命令後不要急著回車,先把你要轉換的python檔案...
釘釘開發系列 五 生成簽名包
釘釘的開發介面中,目前沒有在服務端直接獲取chatid的介面,但提供了客戶端獲取chatid的介面。所以有需要獲取該介面的,我們可以暫時使用客戶端的方式獲取。為了能夠使用jsapi,我們還需要利用jsticket來得到簽名包,具體 如下。region fetchsignpackage functio...
釘釘開發系列篇之開發第乙個Django Web應用
第一部分 在windows上安裝django 在使用django開發應用之前,你需要安裝它。在這裡,採取簡單的最小化的安裝就可以完成基本的建站任務需求。django安裝嚮導 第一步,安裝python。django是乙個基於python的網路框架,因此安裝django需要首先安裝python。在本系列...