HowTo: Abrufen der Daten aus dem Salesforce Mobile SDK
Im letzten Teil dieser Serie waren wir an dem Punkt, dass Sie sich bei Salesforce authentifiziert haben. In diesem Teil wird es darum gehen, dass Sie nun Daten aus Salesforce abrufen. Dabei legen wir noch nicht das Augenmerk auf die Offline-Verfügbarkeit der Daten, das folgt in einem späteren Teil.
In Ihrer index.html, die sie aus dem GitHub-Repository geklont haben, wird die Datei smartsync.js eingebunden, welche die erforderlichen Funktionen zur Verfügung stellt. Mit Ihrem Login ist schon das Force-Objekt initialisiert, sodass wir nur noch die Daten abrufen müssen.
Für den Abruf der Daten wird innerhalb des Force-Objektes ein weiteres Objekt, das forcetkClient-Objekt genutzt, welches die erforderlichen Funktionen bereitstellt. Im Folgenden stelle ich die 2 meist benutzten Funktionen für den Datenabruf vor und erläutere deren Funktion und Parameterliste.
Force.forcetkClient.retrieve(objtype, id, fieldlist, callback, error)
Die Retrieve-Funktion ruft ein einzelnes Salesforce-Objekt ab. Dabei wird als objtype der API-Name des Objektes angegeben, welches bei Standard Salesforce-Objekten gleichlautend mit dem Objektnamen ist, bei benutzerdefinierten Objekten aber um ein “__c” ergänzt wird. Als id wird die bei Salesforce intern verwendete Objekt-Id verwendet. Diese können Sie einfach herausfinden, in dem Sie einen Datensatz eines bestimmten Objektes aufrufen und in der URL den letzten Teil kopieren, welcher die ID enthält.
Mit dem Argument fieldlist kann optional eine Liste von Objekt-Attributen angegeben werden, die abgerufen werden sollen. Wird fieldlist nicht angegeben, wird das vollständige Objekt abgerufen. Die beiden callback und error Parameter sind Callback-Funktionen, welche bei erfolgreicher bzw. fehlgeschlagener Ausführung aufgerufen werden.
Force.forcetkClient.query(soql, callback, error)
Mit der Query-Funktion können Daten gemäß dem Parameter soql aus Salesforce abgerufen werden. Dabei beinhaltet soql einen Query-String einer Salesforce-eigenen Query-Language, der Salesforce Object Query Language. Diese ähnelt aber sehr der allseits bekannten SQL. Wenn Sie mehr über die Syntax der SOQL erfahren wollen, so gucken Sie sich doch die entsprechende Entwicklerdokumentation unter diesem Link an. Des Weiteren haben die Argumente callback und error die gleiche Funktion wie bei der Retrieve-Funktion.
Für Besucher von Mission Mobile können wir unseren Kurs „Erstellen einer hybriden App mit dem Salesforce Mobile SDK“ mit kräftigem Rabatt anbieten.
Erstellen einer hybriden App mit dem Salesforce Mobile SDK
Wichtig: Damit ist es noch nicht ganz geschafft. Sie können zwar theoretisch mit den oben genannten Funktionen Daten aus Salesforce abrufen, wenn Sie die Funktionen aber als einfaches Skript in der index.html hinterlegen, so ist zum Lade-Zeitpunkt das Force-Objekt noch nicht initialisiert. Fügen Sie einfach einen Event-Listener dem Document-Objekt hinzu, welcher sich auf das Ereignis “loggedIn” registriert.
Eine beispielhaft angepasste index.html für den Abruf von mehreren Accounts ist in diesem gist verfügbar.
Sie haben in diesem Beitrag gelernt, wie Daten mit dem Mobile SDK abgerufen werden. Im nächsten Beitrag widme ich mich dem Thema der Manipulation der Daten mit dem Salesforce Mobile SDK.