Frage

Ich versuche, eine App auf der Salesforce-Plattform zu schreiben, die eine Liste von Kontakten aus einem Bericht ziehen und sie an einen Webdienst senden (sagen ihnen eine E-Mail oder SMS senden)

Der einzige Weg, ich kann scheinen zu finden, dies zu tun, ist die Berichtsergebnisse in eine neu erstellte Kampagne hinzuzufügen, und dann den Zugriff dass Kampagne. Dies scheint den langen Weg um.

Jeder Beitrag habe ich online gelesen, sagt man nicht die Berichte über Apex zugreifen können, aber die meisten oder alle diese Beiträge vor Version geschrieben wurden 20 von der API letzten Monat veröffentlicht wurde, die einen neuen Bericht Objekt eingeführt. Ich kann jetzt programmatisch Zugriff Daten zu einem Bericht (wie Datum letzten Lauf usw.), aber ich kann immer noch keinen Weg für den Zugriff scheinen die Ergebnisdaten in diesem Bericht enthalten sind, zu finden.

Wer weiß, wenn es einen Weg gibt, das zu tun?

War es hilfreich?

Lösung

Nach viel Forschung hinein, habe ich die einzige Möglichkeit, entdeckt dies im Moment zu tun, ist in der Tat die CSV-Dokument zu kratzen. Ich würde vermuten, dass Conga etc. verwendet genau diese Methode.

Wir haben jetzt eine Zeit lang das getan, und es funktioniert. Die einzigen Einschränkungen sind:

  • Salesforce Benutzername / Passwort / Sicherheitstoken muss geteilt werden Die App verbindet. Wenn das Passwort Änderungen (und wird es standardmäßig geändert alle 30 Tage oder so) auch das Token Änderungen und müssen neu eingegeben werden.

  • Sie haben die Gastgeber des Kontos zu wissen, was schwierig sein kann, richtig machen. Zum Beispiel, während die meisten europäischen Konten emea.salesforce.com den Zugriff auf CSV verwenden würde, unser Konto verwendet NA7 (Nordamerika 7), obwohl wir gelegen sind in Irland. Ich schicke derzeit die Seite Host für die App und Parsen es die richtige Sub-Domain zu verwenden zu berechnen, aber ich denke, es gibt sein muss besserer Weg, dies zu tun.

Salesforce wirklich braucht, um dieses heraus zu sortieren, indem Sie einen API-Aufruf liefert, die benutzerdefinierte Berichtsergebnisse können im laufenden Betrieb exportiert werden und ermöglicht es uns, OAuth zu verwenden, um sie zu verbinden. Aber natürlich ist dies unwahrscheinlich.

Andere Tipps

In den SalesforceSpring 11 Update, es scheint, dass Sie mehr Informationen über die Berichte erhalten können: Wie bereits erwähnt in der API für Bericht und Report , können Sie über Apex Zugriff auf die Felder in der Abfrage verwendet von der Bericht, verwendet das Feld " Spalten " sowie das Feld Lesen der Filter namens " Filter " darzustellen.

Iterieren durch diese Objekte, sollte Ihnen ermöglichen, einen String zu bauen die gleiche Abfrage des Berichts darstellt. Nachdem diese Zeichenfolge Aufbau können Sie eine dynamische Abfrage mit einem Database.query (..) Anruf.

Es scheint ein wenig chaotisch zu sein, aber sollte funktionieren .. (NOCH NICHT GETESTET!)

Als Kopf Staaten funktioniert dies nur mit Custom Report!

Nur für fellow Rookies zu klären, wer diese finden wird, wenn die Frage gestellt wurde, um Sie Berichtsdaten programmatisch zugreifen konnte, aber man hatte einige Hacky, anfällig Methoden Fehler verwenden.

Das ist alles festgelegt, können Sie nun Zugriff auf Ihre Berichte über die API wie von Winter '14.

Dokumentation hier - http://www.salesforce.com/ wir / Entwickler / docs / api_analytics / index.htm

Gehen Sie in der Stadt auf diesen benutzerdefinierten Dashboards usw. Kreuz aus dem Salesforce-Stack von Exchange geschrieben - https://salesforce.stackexchange.com/questions/337/can-report-data-be-accessed-programatically/

Aber Conga (appextremes) tut dies in ihrem QuickMerge Produkt, in dem der Benutzer festlegt der Bericht Id, und die Spitze Skript auf der Seite führt den Bericht die Ergebnisse für einen Serienvorgang zu extrahieren.

die V20.0-API hinzugefügt Metadaten über die Berichte, aber keine Möglichkeit, tatsächlich den Bericht auszuführen und die Ergebnisse zu erhalten. Wenn dieser einen Standardbericht ist, oder einen Bericht, den Sie festgelegt haben, können Sie die entsprechende SOQL Abfrage für den Bericht erarbeiten und ausführen, aber wenn sie ein Endbenutzer definiert Bericht, gibt es keine Möglichkeit, dies zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top