Domanda

Sto cercando di scrivere un app sulla piattaforma Salesforce che può tirare un elenco di contatti da un report e inviarli a un servizio Web (ad esempio per inviare loro una e-mail o SMS)

L'unico modo che riesco a trovare per farlo è quello di aggiungere i risultati del rapporto per una campagna appena creata, e l'accesso quindi quella campagna. Questo mi sembra la strada lunga.

Ogni post che ho letto on-line dice che non è possibile accedere ai report tramite Apex, tuttavia la maggior parte o tutti questi messaggi sono stati scritti prima della versione 20 delle API è stato rilasciato il mese scorso, che ha introdotto un nuovo oggetto report. Posso informazioni adesso a livello di codice di accesso di un rapporto (come la data dell'ultima esecuzione, ecc), ma io ancora non riesco a trovare un modo per accedere ai dati dei risultati contenuti in tale relazione.

Qualcuno sa se c'è un modo per farlo?

È stato utile?

Soluzione

Dopo molte ricerche in esso, ho scoperto l'unico modo per fare questo al momento è infatti quello di raschiare il documento CSV. Direi che Conga ecc stanno utilizzando esattamente questo metodo.

Abbiamo fatto questo per un po 'di tempo, e funziona. Gli unici avvertimenti sono:

  • Salesforce username / password / token di sicurezza deve essere condivisa a l'applicazione di collegamento. Se la password modifiche (e di default è cambiato ogni 30 giorni o giù di lì), il token anche cambia e deve essere rientrato.

  • È necessario conoscere l'ospite del conto, che può essere difficile da avere ragione. Per esempio mentre la maggior parte conti europei userebbero emea.salesforce.com per l'accesso CSV, il nostro account utilizza NA7 (America del Nord 7), anche se ci trova nel Irlanda. Attualmente sto inviando la pagina host per l'applicazione e l'analisi che per calcolare il corretto sottodominio uso, ma penso che ci deve essere un modo migliore per fare questo.

Salesforce ha davvero bisogno di risolvere questo problema fornendo una chiamata API che permette ai risultati del report personalizzati da esportare al volo e che ci permette di utilizzare OAuth per connettersi ad esso. Ma, naturalmente, questo è improbabile che ciò accada.

Altri suggerimenti

L'aggiornamento SalesforceSpring 11, a quanto pare è possibile ottenere ulteriori informazioni sui rapporti: Come affermato nella API per Rapporto e ReportType , è possibile accedere tramite Apex i campi utilizzati nella query da il Rapporto, la lettura del campo " colonne ", così come il campo utilizzato per rappresentare i filtri denominati " Filtro ".

scorrendo questi oggetti, dovrebbe permettere di costruire una stringa che rappresenta la stessa query del Rapporto. Dopo la costruzione di tale stringa è possibile effettuare una query dinamica con una chiamata Database.query (..).

Sembra essere un po 'disordinato, ma dovrebbe funzionare .. (non testato ancora!)

Come afferma intestazione, questo funziona solo con report personalizzati!

Giusto per chiarire per i compagni esordienti che troveranno questo, quando la domanda è stata posta è possibile accedere ai dati del rapporto programatically, ma si doveva utilizzare alcuni, errore metodi incline hacky.

Questo è tutto risolto, è ora possibile accedere ai rapporti tramite l'API come di Winter '14.

Documentazione qui - http://www.salesforce.com/ noi / developer / docs / api_analytics / index.htm

andare in città su quelle cruscotti personalizzati ecc Croce pubblicata da Salesforce Stack cambio - https://salesforce.stackexchange.com/questions/337/can-report-data-be-accessed-programatically/

Ma Conga (appextremes) fare questo nel loro prodotto QuickMerge, in cui l'utente specifica il rapporto di Id, e lo script vertice sulla pagina esegue il report per estrarre i risultati per un'operazione di stampa unione.

il v20.0 API aggiunto i metadati relativi rapporti, ma c'è modo di eseguire in realtà la relazione e ottenere i risultati. Se si tratta di un rapporto standard, o di un rapporto già definita, è possibile lavorare fuori la query SOQL equivalente per il rapporto e correre, ma se un rapporto utente finale definito, non c'è modo per farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top