Dernière modification : 28 août 2025
Avant de commencer
Avant de commencer à utiliser OAuth avec HubSpot, vous devrez disposer :- D’un compte de développeur
- D’une application associée à votre compte de développeur
- D’un compte HubSpot sur lequel installer votre application (vous pouvez utiliser un compte existant ou créer un compte de test).
Vous devez être un super administrateur pour installer une application dans un compte HubSpot.
Fonctionnement
HubSpot prend en charge le type d’octroi du code d’autorisation OAuth 2.0, qui peut être divisé en quatre étapes basiques :- Votre application ouvre une fenêtre de navigateur pour renvoyer l’utilisateur au serveur OAuth 2.0 de HubSpot.
- L’utilisateur examine les autorisations demandées et accorde l’accès à l’application.
- L’utilisateur est redirigé vers l’application avec un code d’autorisation dans la chaîne de requête.
- L’application envoie une demande au serveur OAuth 2.0 pour échanger le code d’autorisation contre un jeton d’accès.
Dans ce guide
- Application de démarrage rapide : une application de démonstration Node.js qui s’authentifie avec le serveur OAuth 2.0 de HubSpot
- Obtenir des jetons OAuth : comment autoriser votre application avec les utilisateurs
- Utiliser des jetons OAuth : comment effectuer des requêtes avec un jeton
- Actualiser des jetons OAuth : comment utiliser le jeton d’actualisation fourni par HubSpot
Les exemples de code dans ce guide sont écrits en JavaScript (Node.js).
Application de démarrage rapide
Si vous utilisez pour la première fois l’authentification OAuth avec les API de HubSpot, il est fortement recommandé de consulter l’application de démarrage rapide d’OAuth 2.0, rédigée en Node.js. Cette application est conçue pour vous aider à bien démarrer avec OAuth 2.0, en vous en montrant toutes les étapes décrites ci-dessous dans la section Obtenir des jetons OAuth ci-dessous.Obtenir l'application de démarrage rapide
Obtenir des jetons OAuth
1. Créer l’URL d’autorisation et rediriger l’utilisateur vers le serveur OAuth 2.0 de HubSpot
Lorsque vous envoyez un utilisateur au serveur OAuth 2.0 de HubSpot, la première étape consiste à créer l’URL d’autorisation. Cela identifiera votre application et définira les ressources (périmètres d’accès) demandées au nom de l’utilisateur. Les paramètres de requête que vous pouvez transmettre dans une URL d’autorisation sont affichés dans le tableau ci-dessous. Pour plus d’informations sur cette étape, consultez la documentation de référence.Les champs marqués par * sont obligatoires.
Paramètre | Description | Exemple |
---|---|---|
client_id * | L’ID de client identifie votre application. Trouvez-le sur la page des paramètres de votre application. | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
scope * | Les périmètres d’accès demandés par votre application, séparés par des espaces en format URL-encoded (%20 ). | oauth%20crm.objects.contacts.read |
redirect_uri * | L’URL vers laquelle l’utilisateur sera redirigé après avoir autorisé votre application pour les périmètres d’accès demandés. Pour les applications de production, https est obligatoire. | https://www.example.com/auth-callback |
optional_scope | Les périmètres d’accès qui sont facultatifs pour votre application seront abandonnées si le portail HubSpot sélectionné n’a pas accès à ces produits. | automation |
state | Une valeur de chaîne unique pouvant être utilisée pour maintenir l’état de l’utilisateur lorsqu’il est redirigé vers votre application. | WeHH_yy2irpl8UYAvv-my |
userA.integration.com
et userB.integration.com
). Pour ce faire, utilisez le paramètre state
pour encoder plus d’informations sur le statut de l’utilisateur :
1. Générez et stockez une valeur nonce pour le paramètre de statut.
2. Stockez le statut de l’utilisateur dans une banque de données locale en utilisant le nonce comme clé.
3. Incluez la valeur nonce comme paramètre de statut dans l’URL d’autorisation.
4. Lorsque l’utilisateur s’authentifie et est redirigé vers l’URL de redirection, validez le paramètre de statut et utilisez-le comme clé pour récupérer le statut de l’utilisateur stocké.
5. À partir de là, redirigez l’utilisateur au besoin (par exemple, rediriger à nouveau vers une URL spécifique à l’utilisateur).
2. Demande de consentement de l’utilisateur par HubSpot
HubSpot affiche une fenêtre de consentement à l’utilisateur montrant le nom de votre application et une brève description des services d’API de HubSpot auxquels elle demande l’accès. L’utilisateur peut ensuite accorder l’accès à votre application.
3. Gérer la réponse du serveur OAuth
Lorsque l’utilisateur a répondu à la demande de consentement de l’étape 2, le serveur OAuth 2.0 envoie une requêteGET
à l’URI de redirection indiquée dans votre URL d’authentification. S’il n’y a aucun problème et que l’utilisateur a approuvé la demande d’accès, la requête à l’URI de redirection aura un retour avec le paramètre de requête code
joint. Si l’utilisateur n’autorise pas l’accès, aucune requête ne sera envoyée.
Exemple :
4. Echange du code d’autorisation contre des jetons
Une fois que votre application reçoit un code d’autorisation de la part du serveur OAuth 2.0, elle peut échanger ce code contre un jeton d’accès et un jeton d’actualisation en envoyant une demandePOST
en format form-urlencoded à https://api.hubapi.com/oauth/v1/token
avec les valeurs affichées ci-dessous. Pour plus d’informations sur cette étape, consultez la documentation de référence.
Paramètre | Description | Exemple |
---|---|---|
grant_type | Doit correspondre à authorization_code | authorization_code |
client_id | ID de client de votre application | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
client_secret | Secret de client de votre application | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d |
redirect_uri | URI de redirection lorsque l’utilisateur autorise votre application | https://www.example.com/auth-callback |
code | Le code d’autorisation reçu de la part du serveur OAuth 2.0 | 5771f587-2fe7-40e8-8784-042fb4bc2c31 |
Remarque :
Le jeton d’accès expirera après le nombre de secondes indiqué dans le champexpires_in
de la réponse (actuellement 30 minutes). Pour plus de détails sur l’obtention d’un nouveau jeton d’accès, consultez la section Actualiser les jetons OAuth ci-dessous.Utilisation des jetons OAuth
Une fois le flux de code d’autorisation terminé, votre application est autorisée à faire des demandes au nom de l’utilisateur. Pour cela, fournissez le jeton en tant que jeton Bearer dans l’en-tête HTTPAuthorization
. Des détails spécifiques sont disponibles dans la documentation de référence.
Exemple :
Remarque :
Les jetons d’accès reflètent les périmètres d’accès demandés à l’application et pas les autorisations ou les limites de ce qu’un utilisateur peut faire dans son compte HubSpot. Par exemple, si un utilisateur dispose des autorisations pour afficher uniquement les contacts détenus, mais autorise une demande pour le périmètre d’accèscrm.objects.contacts.read
, le jeton d’accès résultant peut afficher tous les contacts du compte et pas seulement ceux détenus par l’utilisateur autorisant.Actualisation des jetons OAuth
Les jetons d’accès OAuth expirent régulièrement. Ainsi, s’ils sont corrompus, les pirates informatiques n’y auront accès que pour une courte durée. Le cycle de vie du jeton est indiqué en secondes dans le champexpires_in
lorsqu’un code d’autorisation est échangé contre un jeton d’accès.
Votre application peut échanger le jeton d’actualisation reçu contre un nouveau jeton d’accès en envoyant une requête POST
en format form-urlencoded à https://api.hubapi.com/oauth/v1/token
avec les valeurs ci-dessous. Pour plus d’informations sur cette étape, consultez la documentation de référence.
Paramètre | Description | Exemple |
---|---|---|
grant_type | Doit correspondre à refresh_token | refresh_token |
client_id | ID de client de votre application | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
client_secret | Secret de client de votre application | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d |
redirect_uri | URI de redirection lorsque l’utilisateur autorise votre application | https://www.example.com/auth-callback |
refresh_token | Le jeton d’actualisation reçu lorsque l’utilisateur autorise votre application | b9443019-30fe-4df1-a67e-3d75cbd0f726 |