Letzte Änderung: 28. August 2025
Bevor Sie loslegen
Bevor Sie OAuth mit HubSpot verwenden können, müssen Sie über Folgendes verfügen:- Ein Entwickler-Account
- Eine App, die mit Ihrem Entwickler-Account verknüpft ist Ein HubSpot-Account, um Ihre App zu installieren (Sie können einen vorhandenen Account verwenden oder - einen Test-Account erstellen)
Sie müssen ein Super-Admin sein, um eine App in einem HubSpot-Account zu installieren.
So funktioniert das Ganze
HubSpot unterstützt den OAuth 2.0 Grant-Type „Autorisierungscode“, der in vier grundlegende Schritten unterteilt werden kann:- Ihre App öffnet ein Browser-Fenster, um den Benutzer an den HubSpot OAuth 2.0-Server weiterzuleiten.
- Der Benutzer prüft die angeforderten Berechtigungen und gewährt der App Zugriff.
- Der Benutzer wird mit einem Autorisierungscode in der Abfragezeichenfolge zurück zur App geleitet.
- Die App sendet eine Anfrage an den OAuth 2.0-Server, um den Autorisierungscode gegen ein Zugriffstoken auszutauschen.
In diesem Leitfaden
- Schnellanleitungs-App: Eine Node.js-Demo-App, die sich beim OAuth 2.0-Server von HubSpot authentifiziert
- Abrufen von OAuth-Token: So autorisieren Sie Ihre App bei Benutzern
- Verwenden von OAuth-Token: So erstellen Sie Abfragen mit einem Token
- Aktualisieren von OAuth-Token: So verwenden Sie das von HubSpot bereitgestellte Aktualisierungstoken
Alle Code-Beispiele in diesem Leitfaden sind in JavaScript (Node.js) geschrieben
Schnellanleitungs-App
Wenn Sie zum ersten Mal die OAuth-Authentifizierung mit den APIs von HubSpot verwenden, sollten Sie sich vorher unbedingt mit der in Node.js geschriebenen OAuth 2.0 Schnellanleitungs-App beschäftigen. Diese Beispiel-App ermöglicht einen schnellen Einstieg in die Verwendung von OAuth 2.0, da alle unten im Abschnitt Abrufen von OAuth-Token beschriebenen Schritte erläutert werden.Holen Sie sich die Schnellanleitungs-App.
Abrufen von OAuth-Token
1. Autorisierungs-URL erstellen und den Benutzer zum OAuth 2.0-Server von HubSpot weiterleiten
Wenn Sie einen Benutzer an den OAuth 2.0-Server von HubSpot verweisen, wird im ersten Schritt die Autorisierungs-URL erstellt. Dadurch wird Ihre App identifiziert und es werden die Ressourcen (Bereiche) definiert, auf die diese im Namen des Benutzers Zugriff anfordert. Die Abfrageparameter, die Sie als Teil einer Autorisierungs-URL übergeben können, werden unten in der Tabelle angezeigt. Weitere Informationen zu diesem Schritt finden Sie in der Referenzdokumentation.Mit * markierte Felder sind Pflichtfelder.
Parameter | Beschreibung | Beispiel |
---|---|---|
client_id * | Die Client-ID identifiziert Ihre App. Sie finden sie auf der Einstellungsseite Ihrer App. | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
scope * | Die Bereiche, die Ihre Anwendung anfordert, getrennt durch URL-codierte Leerzeichen%20 . | oauth%20crm.objects.contacts.read |
redirect_uri * | Die URL, zu der der Benutzer weitergeleitet wird, nachdem er Ihre App für die angeforderten Bereiche autorisiert hat. Für Produktionsanwendungen ist https erforderlich. | https://www.example.com/auth-callback |
optional_scope | Die Bereiche, die für Ihre App optional sind und verworfen werden, wenn das ausgewählte HubSpot-Portal keinen Zugriff auf diese Produkte hat | automation |
state | Ein eindeutiger Zeichenfolgenwert, der zur Aufrechterhaltung des Status des Benutzers verwendet werden kann, wenn er zurück zu Ihrer App weitergeleitet wird. | WeHH_yy2irpl8UYAvv-my |
userA.integration.com
und userB.integration.com
). Verwenden Sie dazu den state
-Parameter, um weitere Informationen zum Benutzerstatus zu codieren:
1. Generieren und speichern Sie einen Nonce-Wert für den state-Parameter.
2. Speichern Sie den Status des Benutzers in einem lokalen Datenspeicher mit dem Nonce-Wert als dessen Schlüssel.
3. Schließen Sie den Nonce-Wert als state-Parameter in der Autorisierungs-URL ein.
4. Wenn sich der Benutzer authentifiziert und zu Ihrer Weiterleitungs-URL weitergeleitet wird, validieren Sie den state-Parameter und verwenden Sie ihn als Schlüssel, um den gespeicherten Benutzerstatus abzurufen.
5. Leiten Sie den Benutzer von dort aus nach Bedarf weiter (z. B. durch erneutes Weiterleiten zu einer benutzerspezifischen URL).
2. HubSpot fordert Benutzer zur Einwilligung auf
HubSpot zeigt dem Benutzer ein Einwilligungsfenster an, in dem der Name Ihrer App und eine kurze Beschreibung der HubSpot API-Dienste angezeigt werden, für die eine Zugriffsberechtigung angefordert wird. Der Benutzer kann dann Zugriff auf Ihre App gewähren.
3. Die OAuth-Serverantwort verarbeiten
Wenn der Benutzer die Aufforderung zur Einwilligung von Schritt 2 abgeschlossen hat, sendet der OAuth 2.0-Server eineGET
-Anfrage an den in Ihrer Authentifizierungs-URL angegebenen Weiterleitungs-URI. Falls keine Fehler auftreten und der Benutzer die Zugriffsanfrage akzeptiert, wird die Anfrage mit einem angehängten code
-Abfrageparameter an den Weiterleitungs-URI zurückgegeben. Gewährt der Benutzer keinen Zugriff, wird keine Anfrage gesendet.
Beispiel:
4. Autorisierungscode für Token austauschen
Nachdem Ihre App einen Autorisierungscode aus dem OAuth 2.0-Server empfangen hat, kann sie den Code für ein Zugriffs- und Aktualisierungstoken tauschen, indem eine im URL-Format codiertePOST
-Anfrage mit den unten aufgeführten Werten an https://api.hubapi.com/oauth/v1/token
gesendet wird. Weitere Informationen zu diesem Schritt erhalten Sie in diesem Referenzdokument.
Parameter | Beschreibung | Beispiel |
---|---|---|
grant_type | Muss sein authorization_code | authorization_code |
client_id | Die Client-ID Ihrer App | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb |
client_secret | Das Client-Geheimnis Ihrer App | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d |
redirect_uri | Die Weiterleitungs-URI vom Autorisieren Ihrer App durch den Benutzer | https://www.example.com/auth-callback |
code | Der Autorisierungscode, der vom OAuth 2.0-Server empfangen wurde | 5771f587-2fe7-40e8-8784-042fb4bc2c31 |
Hinweis:
Das Zugriffstoken läuft nach der Anzahl der Sekunden ab, die imexpires_in
-Feld der Antwort angegeben ist. Aktuell sind dies 30 Minuten. Details zum Erhalt eines neuen Zugriffs Token finden Sie weiter unten im Abschnitt Aktualisieren von OAuth-Token.Verwenden von OAuth-Token
Sobald der Autorisierungscode-Prozess abgeschlossen ist, ist Ihre App autorisiert, Anfragen im Namen des Benutzers vorzunehmen. Stellen Sie dazu das Token als ein Bearer-Token imAuthorization
-HTTP-Header bereit. Spezifische Details dazu finden Sie im Referenzdokument.
Beispiel:
Hinweis:
Zugriffstoken spiegeln die von der App angeforderten Bereiche wider. Sie spiegeln nicht die Berechtigungen oder Einschränkungen dessen wider, was ein Benutzer in seinem HubSpot-Account tun kann. Wenn beispielsweise ein Benutzer die Berechtigung hat, nur eigene Kontakte anzuzeigen, aber eine Anfrage für dencrm.objects.contacts.read
-Bereich autorisiert, kann das resultierende Zugriffstoken alle Kontakte im Account anzeigen und nicht nur die, die dem autorisierenden Benutzer gehören.Aktualisieren von OAuth-Token
OAuth-Zugriffstoken laufen in regelmäßigen Abständen ab. So ist sichergestellt, dass Angreifer bei einem kompromittierten Token nur für eine kurze Zeit Zugriff haben. Die Gültigkeitsdauer des Tokens in Sekunden wird imexpires_in
-Feld angegeben, wenn ein Autorisierungscode gegen ein Zugriffstoken getauscht wird.
Ihre App kann das empfangene Aktualisierungstoken gegen ein neues Zugriffstoken tauschen, indem eine im URL-Format codierte POST
-Anfrage mit den unten aufgeführten Werten an https://api.hubapi.com/oauth/v1/token
gesendet wird. Weitere Informationen zu diesem Schritt finden Sie in der Referenzdokumentation.
| Parameter | Beschreibung | Beispiel |
| --------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------- | ----- |
| grant_type
| Muss refresh_token
| refresh_token
| sein. |
| client_id
| Die Client-ID Ihrer App | 7fff1e36-2d40-4ae1-bbb1-5266d59564fb
|
| client_secret
| Das Client-Geheimnis Ihrer App | 7c3ce02c-0f0c-4c9f-9700-92440c9bdf2d
|
| redirect_uri
| Die Weiterleitungs-URI vom Autorisieren Ihrer App durch den Benutzer | https://www.example.com/auth-callback
|
| refresh_token
| Das Aktualisierungstoken, dass bei der Autorisierung Ihrer App durch den Benutzer empfangen wurde | b9443019-30fe-4df1-a67e-3d75cbd0f726
|
Beispiel: