0

我試圖建立一個小工具在2007年的Sharepoint,這將驗證用戶,然後從特定的URL抓取他SharePoint列表,Windows小工具使用SOAP SharePoint 2007的列表,使用Javascript,C#,Web服務,jQuery的

在過去的4天裏,我一直在努力,並且遇到了不同的方法,但是因爲解決方案要麼完成了一半,不要工作,要麼過於困惑,以獲得幫助或轉換成我想要的。

因爲Windows小工具使用腳本+ HTML所以我下面的選項進行以使這個小工具的工作,

  • 創建一個Visual Studio項目(DLL),這將使用SPLIST獲取列表我/ SPWeb of Sharepoint,然後我可以使用JavaScript的& Visual Studio「COM」來讀取該dll(「Classes」)並獲取JavaScript中的數據並在HTML上顯示它。 這種方法存在的問題是,我不確定,如果我使用Sharepoint SPLIST創建了一個「dll」並將其放到gadget文件夾中,它是否可以在客戶端上運行(在那裏沒有安裝sharepoint)。 雖然試圖找到有關這種方法來解決問題的幫助,但我發現這個項目做的是相同的事情,但並不確定我是否會對其進行更改,並且它會與「dll」一起工作我之前討論過,這裏是Link到小工具,

Gmail Gadget Using JavaScript to Read Visual studio Dll

  • 第二種方法來解決這個問題就可以了,如果我使用SharePoint Web服務,這將讓我所有的列表項,但隨後在JavaScript中使用Web服務是不是容易,所以如果我創建一個Visual Studio項目,獲得一個Web引用到SharePoint Web服務,並返回一個列表,我再次使用JavaScript來讀取結果使用DLL,並將它們顯示在HTML上。

This Link is Using Webservices in a Dot Net Project to Update a List Item, but In comments it also tells how to get List data, but then how I gonna authenticate my users

  • 另一種解決方案是使用jQuery來獲取SharePoint列表數據,就像在鏈接之前,但同樣,我如何可以驗證我的網友@小工具?

Using jQuery to fetch List Data

A gadget that is getting News Feed from a website, its sending an HTTPxml request but then asking for a RSS feed, whereas i dont have Rss feedback in sharepoint site I am working on

乾杯閱讀此,我希望你要麼會增加你的知識或會分享:)

編輯 * 我的意思是使用SharePoint MOSS 「SPLIST」或「SPWEB」作爲客戶端對象模型,因爲我使用Moss我無法使用客戶端對象模型身份驗證:(。real對不起,錯誤信息 *

回答

1

你一個用戶PC上安裝這個,所以你不能使用標準SharePoint API(Microsoft.SharePoint.dll的)

您使用2007這樣你就可以「T使用 「客戶端對象模型」(管理/ Silverlight的或EMCA腳本)

這使得

一)的SharePoint Web服務(JavaScript或JQuery的仍然IS的JavaScript)。

這意味着您的小工具將通過與瀏覽到您網站的用戶相同的機制(通常是集成的Windows身份驗證)對SharePoint進行身份驗證。

開始的第一個地方是優秀的http://spservices.codeplex.com/庫,它允許您輕鬆地從JQuery調用Web服務)。有關如何使用它的提示,請參閱文檔。

對於一個成功的一半項目怎麼樣http://sharepointsidebar.codeplex.com/

b)在SharePoint服務器上部署一個dll創建自己的自定義Web服務,然後調用通過JavaScript(也許usign JSON或類似的,而

+0

嗨瑞安,我也嘗試過這一個以及,但它沒有做任何身份驗證,我想知道如何可以添加身份驗證到該項目+ Spservices您可以在SharePoint的環境中使用,而不是一個小工具,糾正我,如果我錯了,歡呼:) –

+0

,它會通過SSL工作?謝謝 –

1

如果你能負擔得起的COM組件與你的小工具,第一種方法將工作。將您的邏輯封裝在CC​​W .NET類的正面(使用.NET SP客戶端OM),並通過regasm將其註冊爲COM。所有純.NET,你的類將被聲明(和書寫)COM兼容。

您可能會發現第二種方法也在稍後限制; SP ClOM支持SP WS的更多功能。拋出jQuery並沒有太大的改變。 (不幸的是,SP JS ClOM只能用於SP頁面;而不能用於小工具。)

如果你走痛苦的路(JS ;-) IWA應該給你(Windows)SSO身份驗證。如果您從DLL中調用SP ClOM,您可以重用當前用戶的Windows會話令牌(SSO),或者如果用戶希望,可以通過您的窗體明確進行身份驗證。 (您可以以不同於Windows中的用戶身份登錄SP用戶界面。)Both is supported

我想先嚐試DLL方法。

更新:糟糕,你在SP 2007上,而不是在2010年 - 沒有SP CLOM。我應該早點注意到,對不起......但是,您可以創建一個.NET DLL,通過WS與SP交談。您仍然可以將您的WS客戶端類(SOAP)的DefaultNetworkCredentials設置爲HttpWebRequest.Credentials(REST)或.Credentials以獲得SSO身份驗證。或者用名稱和密碼創建您自己的NetworkCredential

--- Ferda

+0

非常感謝了你的貢獻費爾達,但恐怕我不能使用客戶端對象模型身份驗證,因爲我在這方面使用MOSS,抱歉提供錯誤的信息 –

+0

糟糕,你在SP 2007,對不起...我更新了這篇文章。如果SP WSs不夠用,你可以按照Ryan的建議在SP上部署你自己的WS。你應該能夠在沒有任何認證問題的情況下從.NET DLL訪問它。 –

+0

嗨費迪南德,我沒有得到部署自己的Web服務的概念,當已經有Sharepoint的Web服務在那裏使用:S –