Connecteur API REST Salesforce T27 via JSLAu cours des derniers mois, j'ai reçu quelques demandes de SE demandant comment interroger les données Salesforce via JMP. Les fichiers joints fournissent le cadre de script que j'utilise pour connecter JMP à Salesforce et interroger les données. Vous trouverez ci-dessous une description des scripts joints, ainsi que le processus permettant de les utiliser pour réussir à tout configurer :
- Générer un jeton d'actualisation.jsl
- Ce script ne doit être exécuté que UNE FOIS !!!Une fois qu'un jeton d'actualisation est généré, il persistera indéfiniment. La réexécution du script réinitialisera le jeton d'actualisation , ce qui affectera toutes les étapes futures.
- Il y a 2 champs qui doivent être renseignés dans ce script : identité du client et C secret du client
- Ces valeurs doivent être obtenues à partir de Salesforce.
- Ces valeurs devront être saisies aux positions correctes dans les lignes 13, 19 et 20 du script.
- Exécutez le script après avoir saisi l'identifiant client et le secret client, et le champ « rtoken » sera affiché dans le journal. Enregistrez cette valeur dans un endroit sûr - il s'agit du jeton d'actualisation qui a été généré. Comme ci-dessus, ce jeton persistera indéfiniment, donc ne réexécutez pas ce script à moins que vous n'ayez besoin d'un nouveau jeton d'actualisation .
- Générer des champs d'authentification.jsl
- Maintenant que le jeton d'actualisation a été obtenu, le jeton d'accès nécessaire pour accéder aux données dans Salesforce peut être obtenu. La fonction de ce script génère le jeton d'accès et d'autres champs nécessaires pour exécuter une requête, renvoyant ces valeurs sous la forme d'un tableau associatif. Il y a 3 valeurs qui doivent être saisies dans cette fonction (répertoriées dans l'ordre dans lequel elles doivent apparaître en entrée) :
- jeton - c'est le jeton d'actualisation généré à partir du script ci-dessus
- identité du client - il s'agit de l'identifiant client extrait de Salesforce
- client_secret - il s'agit du secret client extrait de Salesforce
- Vous trouverez ci-dessous les clés et les valeurs correspondantes renvoyées dans le tableau associatif généré par cette fonction :
- identité du client - c'est l'identifiant client qui a été initialement saisi
- jeton d'accès - il s'agit du jeton d'accès nécessaire pour accéder aux données dans Salesforce
- instance_url - il s'agit de l'URL de l'instance Salesforce de votre organisation,
- Requête Formule String.jsl
- Ce script contient la fonction nécessaire pour interroger les données de Salesforce. La fonction dispose de 5 entrées (répertoriées par ordre d'entrée ci-dessous) et renvoie un tableau de données.
- St - il s'agit de la chaîne de requête SOQL qui spécifie les données interrogées. Table de travail est une excellente ressource pour générer des requêtes SOQL.
- jeton d'accès - cela doit être extrait du tableau associatif généré dans le script ci-dessus.
- identité du client - cela doit être extrait du tableau associatif généré dans le script ci-dessus.
- instance_url - cela doit être extrait du tableau associatif généré dans le script ci-dessus.
- nom de la table - cela doit être défini comme nom de table souhaité pour la table de données générée par cette fonction. S'il est laissé vide, il nommera automatiquement la table générée comme « Table générée par Salesforce ».
- Exemple de requête.jsl
- Ce script contient un exemple d'utilisation des scripts « Generate Auth Fields.jsl » et « Query Formula String.jsl » pour générer une table de données Salesforce. Pour que ce script fonctionne, le client devra saisir ses entrées spécialisées dans la fonction Générer des champs d'authentification.
Références d'informationsScriptsMatériel d'entraînementRe : Connecteur API REST Salesforce via JSLMerci pour l'information @andyzhou .J'en avais déduit que le message était destiné aux SE souhaitant potentiellement exploiter SF pour aider leurs équipes de vente, ce qui suggère que les privilèges d'administrateur n'étaient pas requis ou étaient déjà possédés. Je vais mettre de côté mes ambitions de bricolage JSL avec SF pour le moment.
Re : Connecteur API REST Salesforce via JSLSalut @christianstopp ,
Correct, l'obtention d'un identifiant client et d'un secret client se fait en créant une application connectée. La nôtre a été créée il y a quelque temps, mais je pense que seuls les administrateurs peuvent créer une application connectée et la configurer.
Hmm, d'après ce que j'ai vu en ligne, il ne semble pas y avoir de moyen d'obtenir le code SOQL sous-jacent pour un rapport. Vous devriez être en mesure de deviner quels champs sont utilisés, mais souvent les noms de champs dans le rapport ne correspondent pas aux noms de champs de l'API.Table de travail est une bonne ressource pour déterminer quels sont les noms exacts des champs API pour un objet SF donné.
Andy
Re : Connecteur API REST Salesforce via JSLSalut @andyzhou ,
Merci d'avoir décomposé cela pour une utilisation potentielle.Concernant la recherche de l'ID client et du secret client, des privilèges spéciaux sont-ils requis pour leur utilisation ?J'ai parcouru divers sites Web pour savoir comment les obtenir, mais ils encouragent la création d'une nouvelle application et je n'ai pas pu localiser ni l'outil de plate-forme spécifique référencé ni le bouton "Nouveau" dans l'outil de plate-forme que je trouve (par exemple, les packages installés > Applications connectées SF).
De plus, il semble que la requête soit simplement une requête SQL transmise dans la requête HTTP, et je suppose que les rapports que nous créons dans SF sont basés sur des requêtes SQL. Savez-vous s'il existe un moyen d'utiliser la requête SQL pour créer un rapport SF ?
Merci pour tout aperçu que vous avez sur ces éléments.
Christian