Dernière modification : 22 août 2025
Utilisez l’API de jetons OAuth pour générer et gérer les jetons nécessaires à l’autorisation de votre application publique et des requêtes qu’elle effectue. Par exemple, vous devrez utiliser cette API pour récupérer l’accès initial et les jetons d’actualisation pendant le processus d’installation de l’application. Vous l’utiliserez ensuite pour continuer à générer de nouveaux jetons lorsque les anciens expireront. Découvrez-en davantage sur l’utilisation de OAuth. Avant de pouvoir utiliser ces points de terminaison, vous devrez créer une application publique. Un utilisateur devra ensuite l’installer dans son compte pour lancer l’accès OAuth.

Lancement de l’accès OAuth

Après avoir créé votre application, un utilisateur peut l’installer dans son compte HubSpot en utilisant l’URL d’installation située dans les paramètres de l’application, qui inclura les éléments client_id, redirect_uri et scopes comme paramètres de requête. Vous pouvez également inclure optional_scopes et state, si nécessaire. Une fois qu’un utilisateur autorise votre application et l’installe sur son compte, l’URL de redirection sera complétée par une valeur code, que vous pourrez utiliser pour générer un jeton d’accès et un jeton d’actualisation. Le jeton d’accès sera utilisé pour authentifier les demandes effectuées par votre application, tandis que le jeton d’actualisation sera utilisé pour obtenir un nouveau jeton d’accès à l’expiration du jeton actuel. Découvrez-en davantage sur le lancement de OAuth pour votre application.

Générer l’accès initial et actualiser les jetons

Pour obtenir des jetons d’accès et d’actualisation OAuth, effectuez une requête POST à /oauth/v1/token en format form-urlencoded. Dans le corps de la requête, vous spécifierez divers paramètres d’authentification, tels que client_id et client_secret, ainsi que la propriété code renvoyée par l’URL de redirection. Une fois qu’un utilisateur autorise votre application, l’URL de redirection sera complétée par une valeur code. En utilisant ce code, vous allez générer le jeton d’accès initial et le jeton d’actualisation. Les jetons d’accès ont une durée de vie courte et vous pouvez vérifier le paramètre expires_in lors de la génération d’un jeton d’accès pour déterminer sa durée de vie (en secondes). Par exemple, votre requête peut ressembler aux éléments suivants :
curl --request POST \
  --url https://api.hubapi.com/oauth/v1/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'grant_type=authorization_code&code=bcf33c57-dd7a-c7eb-4179-9241-e01bd&redirect_uri=https://www.domain.com/redirect&client_id=7933b042-0952-4e7d-a327dab-3dc&client_secret=7a572d8a-69bf-44c6-9a34-416aad3ad5'
ParamètreTypeDescription
grant_typeChaîneDoit correspondre à authorization_code pour la requête afin de générer l’accès initial et des jetons d’actualisation.
codeChaîneLe code renvoyé dans l’URL de redirection après l’installation de l’application par l’utilisateur.
redirect_uriChaîneL’URL de redirection définie par l’application.
client_idChaîneL’ID client de l’application.
client_secretChaîneLe secret du client de l’application.
Dans la réponse, vous recevrez le jeton d’accès ainsi que le jeton d’actualisation, que vous pouvez utiliser pour actualiser le jeton d’accès. Le champ expires_in spécifie la durée du jeton d’accès (en secondes).
{
  "token_type": "bearer",
  "refresh_token": "1e8fbfb1-8e96-4826-8b8d-c8af73715",
  "access_token": "CIrToaiiMhIHAAEAQAAAARiO1ooBIOP0sgEokuLtAEaOaTFnToZ3VjUbtl46MAAAAEAAAAAgAAAAAAAAAAAACAAAAAAAOABAAAAAAAAAAAAAAAQAkIUVrptEzQ4hQHP89Eoahkq-p7dVIAWgBgAA",
  "expires_in": 1800
}

Actualiser les jetons d’accès

En utilisant un jeton d’actualisation, vous pouvez générer un nouveau jeton d’accès en effectuant une requête POST à /oauth/v1/token en format form-urlencoded. Dans le corps de la demande, vous devrez spécifier indiquer les éléments grant_type, client_id, client_secret et refresh_token.
curl --request POST \
  --url https://api.hubapi.com/oauth/v1/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'grant_type=refresh_token&refresh_token=1e8fbfb1-8e96-4826-8b8d-c8af73715&client_id=7933b042-0952-4e7d-a327dab-3dc&client_secret=7a572d8a-69bf-44c6-9a34-416aad3ad5'
ParamètreTypeDescription
grant_typeChaîneDoit correspondre à refresh_token pour la requête afin de générer de nouveaux jetons d’accès à partir du jeton d’actualisation.
refresh_tokenChaîneLa valeur du jeton d’actualisation.
client_idChaîneL’ID client de l’application.
client_secretChaîneLe secret du client de l’application.

Récupérer les métadonnées du jeton d’accès

Pour obtenir des informations sur un jeton d’accès OAuth, y compris l’utilisateur pour lequel le jeton a été créé et son HubID correspondant, effectuez une requête GET à /oauth/v1/access-tokens/{token}. Vous recevrez une réponse contenant des informations sur le jeton d’accès de l’utilisateur et son compte HubSpot.
{
  "token": "CNaKSIHAAEAQAAAARiO1ooBIOP0sgEokuLtATIU5m7Kzmjj0ihJJuKFq1TcIiHCqwE6MAAAAEEAAAAAAAAAAgAIUfmerBenQwc07ZHXy6atYNNW8XCVKA25hMVIAWgBgAA",
  "user": "user@domain.com",
  "hub_domain": "meowmix.com",
  "scopes": [
    "oauth",
    "crm.objects.contacts.read",
    "crm.objects.contacts.write"
  ],
  "signed_access_token": {
    "expiresAt": 1727190403926,
    "scopes": "AAEAAAAQ==",
    "hubId": 1234567,
    "userId": 293199,
    "appId": 111111,
    "signature": "5m7ihJJuKFq1TcIiHCqwE=",
    "scopeToScopeGroupPks": "AAAAQAAAAAAAAAACAAAAAAAAAAAAAIAAAAAAA4AEAAAAAAAAAAAAAABAC",
    "newSignature": "fme07ZHXy6atYNNW8XCU=",
    "hublet": "na1",
    "trialScopes": "",
    "trialScopeToScopeGroupPks": "",
    "isUserLevel": false
  },
  "hub_id": 1234567,
  "app_id": 111111,
  "expires_in": 1754,
  "user_id": 293199,
  "token_type": "access"
}

Remarque :

La taille des jetons d’accès HubSpot est appelée à fluctuer au fil du temps, à mesure que des mises à jour seront apportées aux informations codées du jeton. Il est recommandé d’autoriser les jetons à contenir jusqu’à 512 caractères pour tenir compte des changements éventuels.

Supprimer un jeton d’actualisation

Si un utilisateur désinstalle votre application, vous pouvez supprimer le jeton d’actualisation en effectuant une requête DELETE à /oauth/v1/refresh-tokens/{token}. Cela ne supprimera que le jeton d’actualisation. Les jetons d’accès générés avec le jeton d’actualisation ne seront pas supprimés. En outre, cela n’entraînera pas la désinstallation de l’application des comptes HubSpot et n’empêchera pas la synchronisation des données entre l’application et le compte.