Pour tous ceux qui sont aussi coincés et frustrés que moi, j'ai laissé un billet de blog détaillé sur l'ensemble du processus (avec des photos et des commentaires délirants !). Cliquez sur le lien si vous voulez le lire :
http://www.calvinfroedge.com/salesforce-how-to-generate-api-credentials/
Voici une réponse sous forme de texte seulement :
Étape 1 :
Créer un compte. Vous pouvez créer un compte de développeur (gratuit) à l'adresse developer.salesforce.com.
Étape 2 :
Ignorez toutes les pages d'atterrissage et les conneries de démarrage. C'est une boucle marketing sans fin.
Étape 3 :
Cliquez sur le lien "Setup".
Étape 4 :
Dans la barre d'outils de gauche, sous "Créer", cliquez sur "Apps".
Étape 5 :
Sous "Apps connectées", cliquez sur "Nouveau".
Étape 6 :
Remplissez le formulaire. Les champs importants sont ceux qui sont marqués comme obligatoires, et la section oauth. Notez que vous pouvez laisser n'importe quelle url pour votre callback (j'ai utilisé localhost).
Étape 7 :
Sachez que la disponibilité de Salesforce est mauvaise.
Étape 8 :
Appuyez sur "Continuer". Vous avez enfin votre clé client_id (appelée "Consumer Key") et votre secret client_secret (appelé "Consumer Secret").
Étape 9 :
Mais attendez ! Vous n'avez pas encore terminé ; sélectionnez "Gérer" puis "Modifier les politiques".
-
Assurez-vous que Détente IP est réglé sur Assouplir les restrictions IP ,
-
et assurez-vous que les utilisateurs autorisés sont réglés sur "Tous les utilisateurs peuvent s'auto-autoriser",
-
et assurez-vous également que le paramètre Sécurité > Accès au réseau > Plages d'adresses IP de confiance a été défini.
Si vous êtes préoccupé par la désactivation de la sécurité, ne le soyez pas pour l'instant, vous voulez juste que cela fonctionne pour l'instant afin de pouvoir faire des appels API. Une fois que tout fonctionne, resserrez les permissions, une par une, afin de déterminer quel paramètre est à l'origine des erreurs d'authentification.
Étape 10 :
Célébrez ! Cet appel au curl devrait réussir :
sur production :
curl -v https://login.salesforce.com/services/oauth2/token \
-d "grant_type=password" \
-d "client_id=YOUR_CLIENT_ID_FROM_STEP_8" \
-d "client_secret=YOUR_CLIENT_SECRET_FROM_STEP_8" \
-d "username=user@wherever.com" -d "password=foo@bar.com"
sur bac à sable o test :
curl -v https://test.salesforce.com/services/oauth2/token \
-d "grant_type=password" \
-d "client_id=YOUR_CLIENT_ID_FROM_STEP_8" \
-d "client_secret=YOUR_CLIENT_SECRET_FROM_STEP_8" \
-d "username=user@wherever.com" -d "password=foo@bar.com"
Notes :
-
Vous ne devriez pas utiliser l'autorisation par mot de passe si vous créez une application multi-tenant, où les utilisateurs doivent autoriser leur propre application. Utilisez le workflow Oauth2 pour cela.
-
Vous devrez peut-être transmettre votre jeton de sécurité en plus de votre mot de passe.