公司所在的是工程檢測行業,須要管理30個現場工程團隊的檢測報告,目前用的是Confluence知識管理系統,用於管理檢測報告,將來可能還會基於檢測報告作 天然語言分析處理。git
百度百科是這麼解釋Confluence的:github
Confluence爲團隊提供一個協做環境。在這裏,團隊成員齊心合力,各擅其能,協同地編寫文檔和管理項目。今後打破不一樣團隊、不一樣部門以及我的之間信息孤島的僵局,Confluence真正實現了組織資源共享。api
目前計劃開發一個桌面的報告管理工具,實現相似SVN+百度雲盤之類的效果,服務器和數據倉庫已經在用Confluence了,因此就須要開發一套桌面端應用。服務器
但目前網上相關基於Confluence都是作的Python、C++之類的接口,團隊對.NET比較熟悉,因此就花了幾天時間研究了下Confluence的RPC/XML協議。eclipse
參考:https://developer.atlassian.com/confdev/deprecated-apis/confluence-xml-rpc-and-soap-apis,還用了Wireshark抓包工具。工具
最後在基於.NET XML/RPC的協議上實現了Confluence的 C# API。url
Confluence DotNet API如今能作什麼spa
使用實例:code
private ConfluenceClient confluenceClient; private string token; private string username = "username"; private string password = "password"; private string confluence_url = "http://your_confluence_site/rpc/xmlrpc"; [SetUp] public void SetUp() { confluenceClient = new ConfluenceClient(confluence_url); var authenticate = confluenceClient.Authenticate(username, password, ref token); Assert.IsTrue(authenticate); }
完整源代碼參考:xml