釘釘開發系列 四 獲取JS票據

2021-07-12 00:01:26 字數 2335 閱讀 1372

釘釘的客戶端開發和服務端有乙個重要的區別,服務端只需要得到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。在本系列...