0

Sharepoint 2007 用のガジェットを開発しようとしています。このガジェットは、ユーザーを認証し、特定の URL から共有ポイント リストを取得します。

過去4日間、私はそれに取り組んでおり、さまざまな方法で作成しましたが、解決策は半分完成しているか、機能していないか、混乱しすぎて助けを得たり、必要なものに変換したりできないためです.

Windows Gadget は Scripting + HTML を使用するため、このガジェットを作成するための次のオプションがあります。

  • Sharepoint の SPLIST/SPWeb を使用してリストをフェッチする Visual Studio プロジェクト (dll) を作成し、JavaScript と Visual Studio の「COM」を使用してその dll (「クラス」) を読み取り、JavaScript でデータを取得して表示することができます。 HTMLで。このアプローチの問題点は、Sharepoint SPLIST を使用して「dll」を作成し、それをガジェット フォルダーに配置した場合、クライアント (PC に SharePoint がインストールされていない) で動作するかどうかです。この問題へのアプローチに関するヘルプを見つけようとしているときに、同じことをしているこのプロジェクトを見つけましたが、変更を加えるかどうか、以前に話していた「dll」で動作するかどうかはよくわかりません。ガジェット、

JavaScript を使用して Visual Studio Dll を読み取る Gmail ガジェット

  • 問題を解決するための 2 番目のアプローチは、Sharepoint Web サービスを使用すると、すべてのリスト アイテムを取得できますが、JavaScript で Web サービスを使用するのはそれほど簡単ではないため、Visual Studio プロジェクトを作成する場合は、Web 参照を取得します。 sharepoint webservices を呼び出してリストを返します。これも JavaScript を使用して DLL から結果を読み取り、HTML に表示します。

このリンクは、ドット ネット プロジェクトで Web サービスを使用してリスト アイテムを更新していますが、コメントでは、リスト データを取得する方法についても説明していますが、ユーザーを認証する方法についても説明しています。

  • 別の解決策は、前のリンクのように Jquery を使用して sharepoint List データを取得することですが、ユーザー @ gadget を認証するにはどうすればよいですか?

jQuery を使用してリスト データをフェッチする

Web サイトからニュース フィードを取得し、HTTPxml リクエストを送信してから RSS フィードを要求するガジェットですが、作業中の SharePoint サイトに Rss フィードバックがありません。

これを読んで乾杯、知識を増やしたり、共有したりすることを願っています:)

編集 * Sharepoint MOSS "SPLIST" または "SPWEB" をクライアント オブジェクト モデルとして使用することを意味していました。Moss を使用しているため、クライアント オブジェクト モデル認証を使用できません :(. 間違った情報について本当に申し訳ありません*

4

2 に答える 2

1

ガジェットに COM コンポーネントをデプロイする余裕がある場合は、最初の方法が有効です。ロジックを CCW .NET クラスのファサードにラップし (.NET SP Client OM を使用)、regasm によって COM に登録します。すべて純粋な .NET であり、クラスは COM 互換であると宣言 (および記述) されます。

後で 2 番目のアプローチが制限的すぎることに気付くかもしれません。SP ClOM は、SP WS よりも多くの機能をサポートしています。jQuery を投入してもあまり変わりません。(残念ながら、SP JS ClOM は SP ページでのみ使用できます。ガジェットでは使用できません。)

苦労した場合 (JS ;-) IWA は (Windows) SSO 認証を提供するはずです。DLL から SP ClOM を呼び出すと、現在のユーザー (SSO) の Windows セッション トークンを再利用するか、ユーザーが希望する場合は自分のフォームで明示的に認証することができます。(Windows とは別のユーザーとして SP UI にログインすることもできます。)両方がサポートされています。

最初に DLL アプローチを試してみます。

更新:おっと、あなたは 2010 ではなく SP 2007 を使用しています - SP ClOM はありません。もっと早く気が付くべきだったのですが、すみません... それでも、WS 経由で SP と通信する .NET DLL を作成することはできます。(REST) またはWS クライアント クラス (SOAP) に設定して、SSO 認証を取得するDefaultNetworkCredentialsこともできます。または、名前とパスワードを使用して独自のものを作成します。HttpWebRequest.Credentials.CredentialsNetworkCredential

--- フェルダ

于 2012-05-18T11:02:34.453 に答える
1

これをユーザーの PC にインストールしているため、標準の SharePoint API (Microsoft.SharePoint.dll) を使用できません。

2007 を使用しているため、「クライアント オブジェクト モデル」(マネージド/シルバーライトまたは EMCA スクリプト) を使用できません

それは去る

a) SharePoint Web サービス (JavaScript または JavaScript のままの JQuery)。

つまり、ガジェットは、サイトを閲覧するユーザーと同じメカニズム (通常は統合 Windows 認証) を介して SharePoint に対して認証されます。

これを開始する最初の場所は、 JQuery から Web サービスを簡単に呼び出すことができる優れたhttp://spservices.codeplex.com/ライブラリです)。使用方法のヒントについては、ドキュメントを参照してください。

半分完了したプロジェクトについては、http://sharepointsidebar.codeplex.com/はどうですか

b) SharePoint サーバーに dll を展開して独自のカスタム Web サービスを作成し、JavaScript を介してそれらを呼び出します (おそらく、JSON などを使用します)。

于 2012-05-18T11:54:26.973 に答える