Verwenden der Code-Clientbibliothek für den Zugriff auf externe Daten in SharePoint
In diesem Artikel erfahren Sie, wie Sie das Clientobjektmodell in SharePoint verwenden, um mit Business Connectivity Services (BCS)-Objekten in SharePoint mithilfe von browserbasierten Skripts zu arbeiten.
In diesem Artikel wird gezeigt, wie eine externe Liste eingerichtet wird, die Daten von einer Open Data-Protokollquelle (OData) mithilfe des Clientobjektmodells in SharePoint abruft.
Erforderliche Komponenten für den Zugriff auf externe Daten mithilfe des Clientobjektmodells SharePoint
Im folgenden sind die Anforderungen für die Entwicklung von apps mithilfe des SharePoint-Clientobjektmodells:
SharePoint
Visual Studio 2012
Office Developer Tools für Visual Studio 2012
Eine funktionierende SharePoint-Add-Ins-Entwicklungsumgebung: Befolgen Sie die Anweisungen unter Einrichten einer allgemeinen Entwicklungsumgebung für SharePoint.
Zugriff auf den öffentlichen OData.org Herstellern
Kernkonzepte beim Zugriff auf externe Daten mit dem SharePoint-Clientobjektmodell
Das Clientobjektmodell SharePoint bietet eine Möglichkeit zum Zugriff auf externe Daten mit clientseitigen aufrufen, die die serverseitige APIs imitieren. Funktionsweise und Verwendungsweise, finden Sie in die Artikeln in Tabelle 1.
Tabelle 1. Kernkonzepte für die Verwendung des Clientobjektmodells
Artikel | Beschreibung |
---|---|
Ausführen grundlegender Vorgänge unter Verwendung von SharePoint-Clientbibliothekscode |
Erfahren Sie, wie Sie Code führen grundlegende Vorgänge mit dem SharePoint .NET Framework-Client-Objektmodell (CSOM) schreiben. |
Erstellen einer SharePoint-Add-In Zugriff auf externe Daten mithilfe des Clientobjektmodells
Die folgenden Verfahren wird gezeigt, wie ein SharePoint-Add-In einrichten und Konfigurieren einer Webseite, sodass Anforderungen mithilfe der Methoden Client und Objekte zum Abrufen von Daten aus einer externen Datenquelle.
Erstellen einer SharePoint-Add-In
Öffnen Sie Visual Studio 2012.
Erstellen einer App für SharePoint-Projekt.
Geben Sie die Appeinstellungen, einschließlich app-Name die URL der Website für das Debuggen der app und wie Sie die app (automatisch gehostet, vom Anbieter gehosteten, SharePoint-Hosting) hosten möchten. Weitere Informationen zu Hostingoptionen finden Sie unter Auswählen von Mustern zum Entwickeln und Hosten Ihres SharePoint-Add-Ins.
Klicken Sie auf Fertig stellen, um die app zu erstellen.
Um den externen Inhaltstyp zu generieren.
Öffnen Sie im Projektmappen-Explorerdas Kontextmenü für das Projekt, und wählen Sie Hinzufügen und Inhaltstypen für externe Datenquelle aus.
Geben Sie im Assistenten OData-Quelle angeben die URL des OData-Diensts, die Sie mit verbinden möchten. In diesem Fall verwenden Sie die Northwind-OData-Quelle auf http://www.odata.org/ecosystemveröffentlicht. Legen Sie die URL für den OData-Dienst auf fest.
http://services.odata.org/Northwind/Northwind.svc/
Geben Sie einen Namen für die Datenquelle, und klicken auf Weiter.
Es wird eine Liste der Entitäten, die vom OData Service verfügbar gemacht werden angezeigt. Wählen Sie die Kunden-Entität. Stellen Sie sicher, dass das Kontrollkästchen für die ausgewählten Datenentitäten (mit Ausnahme von Dienstvorgänge) Listeninstanzen erstellen ausgewählt ist.
Wählen Sie Fertig stellen aus.
Codebeispiel: Hinzufügen von Skripts und HTML auf der Seite "default.aspx"
Zu diesem Zeitpunkt müssen Sie den externen Inhaltstyp und einer externen Liste, die die Daten aus der Netflix OData-Quelle angezeigt werden.
Nächste Ziel ist es, die Seite "default.aspx" zu ändern, die Sie erstellt haben, wenn Sie Ihre app erstellt haben. Sie fügen einen Container, der die Ergebnisse der Abfrage enthalten soll, die mit Laden der Seite ausgeführt wird. Durch Ausführen des Skripts auf der Seite Load-Ereignis, stellen Sie sicher, dass das Skript ausgeführt wird, jedes Mal, wenn die Seite wird durchsucht und die resultierende Client Objektmodellaufrufe werden versucht, den Netflix-OData-Quelle Datensätze auf der Seite hinzufügen.
So fügen Sie dem Container zur Seite Default.aspx hinzu
Öffnen Sie im Projektmappen-Explorer die Seite Default.aspx in der Pages-Modul abgelegte.
Fügen Sie das folgende div -Element auf der Seite hinzu:
<div id="displayDiv"></div>
- Speichern Sie die Seite.
Zum Schluss fügen Sie Code auf die Datei App.js, die beim Laden der Seite ausgeführt.
So ändern Sie die Datei App.js, sodass Client ruft-Objektmodell
Öffnen Sie die Datei App.js in das Modul Skripts Ihrer SharePoint-Projekts.
Fügen Sie den folgenden Code am Ende der Datei.
$(document).ready(function () {
// Namespace
window.AppLevelECT = window.AppLevelECT || {};
// Constructor
AppLevelECT.Grid = function (hostElement, surlWeb) {
this.hostElement = hostElement;
if (surlWeb.length > 0 && surlWeb.substring(surlWeb.length - 1, surlWeb.length) != "/")
surlWeb += "/";
this.surlWeb = surlWeb;
}
// Prototype
AppLevelECT.Grid.prototype = {
init: function () {
$.ajax({
url: this.surlWeb + "_api/lists/getbytitle('Customer')/items?$select=BdcIdentity,CustomerID,ContactName",
headers: {
"accept": "application/json",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: this.showItems
});
},
showItems: function (data) {
var items = [];
items.push("<table>");
items.push('<tr><td>Customer ID</td><td>Customer Name</td></tr>');
$.each(data.d.results, function (key, val) {
items.push('<tr id="' + val.BdcIdentity + '"><td>' +
val.CustomerID + '</td><td>' +
val.ContactName + '</td></tr>');
});
items.push("</table>");
$("#displayDiv").html(items.join(''));
}
}
ExecuteOrDelayUntilScriptLoaded(getCustomers, "sp.js");
});
function getCustomers() {
var grid = new AppLevelECT.Grid($("#displayDiv"), _spPageContextInfo.webServerRelativeUrl);
grid.init();
}
Drücken Sie F5, um die app in SharePoint bereitstellen. Wechseln Sie zur Seite Default.aspx in der app, und eine Liste der Kunden wird auf der Seite angezeigt.