Zugriff auf Salesforce-Daten in hybriden Anwendungen
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Verwenden der force.js-Bibliothek für den Zugriff auf die Salesforce REST-API ausgehend von einer hybriden Anwendung
- Verwenden von Apex-Steuerfeldern für den Zugriff auf Salesforce-Daten ausgehend von einer hybriden Remote-Anwendung
Zugriff auf die Salesforce-API mit force.js
In unserer Erkundung der ContactExplorer-Anwendung wurde die Funktionalität der force.js-Bibliothek vorgestellt. Diese Bibliothek stellt eine umfangreiche Auswahl von Funktionen für die Durchführung von Vorgängen für Salesforce-Datensätze zur Verfügung. Neben dem Erstellen, Löschen, Aktualisieren und Einfügen werden SOQL-Abfragen, SOSL-Suchen, Metadatenbeschreibungen und Dateiverwaltung unterstützt.
Sie können force.js und die anderen Mobile SDK JavaScript-Bibliotheken aus den GitHub-Repositories SalesforceMobileSDK-Shared/libs und SalesforceMobileSDK-Shared/dependencies herunterladen.
Erste Schritte mit force.js und dem Mobile SDK
Zuerst müssen Sie die notwendigen Anwendungsressourcen in die Salesforce-Cloud hochladen.
- Erstellen Sie eine Archivdatei, z. B. eine ZIP-Datei, die cordova.js, force.js sowie alle anderen statischen Ressourcen enthält, die Ihr Projekt benötigt.
- Laden Sie die Archivdatei in Salesforce über Ihr Name | Anwendungs-Setup | Entwickeln | Statische Ressourcen hoch.
Ein Beispiel für eine einfache Visualforce-Seite
Verwenden von Apex-Steuerfeldern in einer hybriden Remote-Anwendung
Bei hybriden Remote-Anwendungen erfolgt der Zugriff auf Salesforce-Daten normalerweise über eine Visualforce-Seiten und das zugehörige Apex-Steuerfeld. Wenn Ihre Visualforce-Seite JavaScript-Code verwendet, kann der betreffende Code Daten mit dem serverseitigen Apex-Steuerfeld verwenden und bearbeiten.
- Dieses Verfahren bietet größere Flexibilität und bessere Leistung als apex:actionFunction.
- Es unterstützt Parameter und Rückgabetypen in der Apex-Steuerfeldmethode mit automatischer Zuordnung zwischen Apex- und JavaScript-Typen.
- Es wird ein asynchrones Verarbeitungsmodell mit Rückmeldungen verwendet.
- Im Gegensatz zu apex:actionFunction enthält die AJAX-Anforderung keinen Ansichtsstatus für die Visualforce-Seite. Dies führt zu einem schnelleren Hin- und Rückweg.
Im folgenden Beispiel wird JavaScript-Code in ein <script>-Tag in der Visualforce-Seite eingefügt. Dieser Code ruft die invokeAction()-Methode für das Visualforce-Remoting-Verwaltungsobjekt auf. An invokeAction() werden die erforderlichen Metadaten zum Aufrufen einer Funktion namens getItemId() für das Apex-Steuerfeldobjekt objName übergeben. Da invokeAction() asynchron ausgeführt wird, definiert der Code auch eine Rückmeldungsfunktion für die Verarbeitung des Werts, der von getItemId() zurückgegeben wird. Im Apex-Steuerfeld macht die @RemoteAction-Anmerkung die getItemId()-Funktion für externen JavaScript-Code verfügbar.
In der getItemId()-Methode können Sie beispielsweise eine Salesforce-API aufrufen und den Rückgabewert in JavaScript erfassen.
Ressourcen
- REST-API – Entwicklerhandbuch
- Integration und REST-APIs – Entwicklerzentrum
- Zugriff auf Salesforce-Daten: Steuerfelder und APIs im Vergleich
- Aufrufen der REST-API von Visualforce-Seiten (überarbeitet) (Salesforce-Blog für Entwickler)
- https://github.com/forcedotcom/SalesforceMobileSDK-Shared
- Schnelleinstieg: Verbinden von Postman mit Salesforce.