Windows-Gadget für SharePoint 2007-Liste mit SOAP, JavaScript, C #, Webservices, JQuery
-
11-12-2019 - |
Frage
Ich versuche, ein Gadget für SharePoint 2007 zu entwickeln, das sich einen Benutzer authentifiziert und dann eine SharePoint-Liste von einer bestimmten URL abhebt,
In den letzten 4 Tagen arbeite ich daran und kam auf verschiedene Arten, um es zu machen, aber weil Lösungen entweder halb fertig sind, funktionieren nicht oder zu verwirrend, um Hilfe von zu bekommen oder in das, was ich will. .
Da Windows-Gadget Scripting + HTML verwendet, also habe ich folgende Optionen, um die Arbeit mitzunehmen, um dieses Gadget zu erstellen,
- .
- Erstellen Sie ein Visual Studio-Projekt (DLL), das die Liste für mich mit dem Spaltlaut / Spweb von SharePoint abhebt, und dann kann ich JavaScript & Visual Studio "com" verwenden, um diese DLL ("Klassen") zu lesen und Daten in Javascript zu erhalten + Anzeige auf HTML.
Problem mit diesem Ansatz ist nicht sicher, ob ich nicht mit SharePoint Splemer eine "DLL" mit SharePoint-Splemer erstellte und in den Gadget-Ordner einfügen kann, wird es auf Clients funktionieren (dass auf den anderen PCs nicht sharePoint installiert ist).
Während ich versuche, Hilfe zu finden, um diesen Ansatz für ein Problem zu finden, finde ich dieses Projekt, das irgendwie dasselbe tut, aber nicht wirklich sicher, ob ich Änderungen daran mache, und es wird mit "DLL" arbeiten, worüber ich von früherer Sprache gesprochen wird. Hier ist der Link zu Gadget,
Google Mail-Gadget mit Javascript So lesen Sie Visual Studio DLL
- .
- Zweiter Ansatz zur Lösung des Problems kann sein, wenn ich SharePoint-Webservices verwenden kann, die mir alle Listenelemente verwenden, aber die Verwendung von Webservices in JavaScript ist nicht so einfach. Wenn ich ein Visual Studio-Projekt erstellte, erhalten Sie ein Web-Referenz auf SharePoint-Webservices, und gibt eine Liste zurück, die ich wieder JavaScript verwende, um die Ergebnisse aus der DLL zu lesen und sie auf HTML anzuzeigen.
- .
- Eine andere Lösung besteht darin, jQuery zu verwenden, um SharePoint-List-Daten wie in Link zuvor zu erhalten, aber wieder, wie kann ich meine Benutzer @ Gadget authentifizieren?
mithilfe von jQuery, um Listendaten zu holen
- .
-
Meine Lieblingslösung ist, Seife oder Ruhen zusammen mit WebServices zu verwenden. Ich möchte SOAP verwenden, um SharePoint-Listendaten zu erhalten und meine Benutzer gleichzeitig zu authentifizieren, ich finde Hunderte von Tutorials hier, aber nicht von ihnen eigentlich authentifizieren oder erzählen, wie dies in einem Gadget arbeiten kann, mit JavaScript / HTML,
-
Es gibt wenige Gadget, das ich online fand, das irgendwie mit dem, was ich brauche, fand, sie arbeiten entweder nicht oder können nicht in das, was ich will, ändert.
Prost zum Lesen, ich hoffe, dass Sie Ihr Wissen entweder steigern oder es teilen werden :)
bearbeiten * Ich meinte mit SharePoint Moss "Splemer" oder "SPWEB" als Client-Objektmodell, da ich MOSS verwende, kann ich keine Client-Objektmodellauthentifizierung verwenden :(. wirklich leid für falsche Informationen *
-
- Eine andere Lösung besteht darin, jQuery zu verwenden, um SharePoint-List-Daten wie in Link zuvor zu erhalten, aber wieder, wie kann ich meine Benutzer @ Gadget authentifizieren?
- Zweiter Ansatz zur Lösung des Problems kann sein, wenn ich SharePoint-Webservices verwenden kann, die mir alle Listenelemente verwenden, aber die Verwendung von Webservices in JavaScript ist nicht so einfach. Wenn ich ein Visual Studio-Projekt erstellte, erhalten Sie ein Web-Referenz auf SharePoint-Webservices, und gibt eine Liste zurück, die ich wieder JavaScript verwende, um die Ergebnisse aus der DLL zu lesen und sie auf HTML anzuzeigen.
Lösung
Sie installieren diese auf einem Benutzer-PC, sodass Sie die Standard SharePoint API (Microsoft.Sharepoint.dll) nicht verwenden können
Sie verwenden 2007, sodass Sie das "Client-Objektmodell" (Managed / Silverlight oder EMCA-Skript) nicht verwenden können
das verlässt
a) Die SharePoint-Webdienste (entweder JavaScript oder Jquey, das noch JavaScript ist).
Dies bedeutet, dass Ihr Gadget über denselben Mechanismus für SharePoint authentifiziert wird, den jemand an Ihre Website durchsuchen würde - normalerweise integriert Windows AUTH.
Der erste Platz zum Starten ist das exzellente http://spservices.codeplex.com/ -Bibliothek, die ermöglicht es Ihnen, die Web-Dienste problemlos von jQuery anzurufen). Siehe die Dokumentation für Tipps zur Verwendung.
für ein halbes Geschäftsprojekt Wie wäre es mit http://sharepointsidebar.codeplex.com/
b) Erstellen Sie Ihre eigenen benutzerdefinierten Webdienste, indem Sie eine DLL auf dem SharePoint-Server bereitstellen, dann nennen Sie diese über JavaScript (vielleicht Usign JSON oder ähnliches eher
Andere Tipps
Wenn Sie sich leisten können, eine COM-Komponente mit Ihrem Gadget zu beheben, würde der erste Ansatz funktionieren. Sie wickeln Ihre Logik in einer Fassade einer CCW .NET-Klasse (mit dem .NET SP Client OM) ein und registrieren Sie es für com durch den Reglasm. Alle reinen .NET, Ihre Klasse würde deklariert (und schriftlich) com-kompatibel.
Sie können den zweiten Ansatz auch später einschränken. SP Clom unterstützt mehr Funktionalität, die SP WSS ist. Jquery zuwerfen, ändert es nicht viel. (Leider kann SP JS Clom nur auf SP-Seiten verwendet werden. Nicht in einem Gadget.)
Wenn Sie den Schmerzweise (JS ;-) IWA, sollten Sie die (Windows) -SSO-Authentifizierung geben. Wenn Sie den SP Clom von der DLL anrufen, können Sie entweder das Windows-Sitzungs-Token des aktuellen Benutzers (SSO) wiederverwenden oder explizit von einer Form Ihrer AUTO-Dateien authentifizieren, wenn der Benutzer es wünschte. (Sie können sich als anderer Benutzer an SP UI anmelden, als Sie sich auch in Windows befinden.) Beide werden unterstützt.
Ich würde den dll-Ansatz zuerst ausprobieren.
update: oops, Sie sind auf SP 2007, nicht 2010 - kein SP-Clom. Ich hätte früher bemerkt, tut mir leid ... Trotzdem können Sie eine .NET-DLL erstellen, die über eine WS mit SP sprechen würde. Sie können noch DefaultNetworkCredentials
bis HttpWebRequest.Credentials
(Rest) oder zu .Credentials
Ihrer WS-Client-Klasse (SOAP), um die SSO-Authentifizierung zu erhalten. Oder erstellen Sie Ihre eigenen NetworkCredential
mit Name und Passwort.
--- Ferda