Informationen zu Benutzerzugriffstoken
Hinweis: Ablaufende Benutzerzugriffstoken sind derzeit ein optionales Feature und können Änderungen unterliegen. Informationen zum Aktivieren oder Deaktivieren des Tokenablauffeatures findest du unter Activating optional features for GitHub Apps. Weitere Informationen findest du unter Ablauf von Benutzer-zu-Server-Zugriffstoken für GitHub Apps.
Ein Benutzerzugriffstoken ist ein OAuth-Tokentyp. Im Gegensatz zu herkömmlichen OAuth-Token verwendet das Benutzerzugriffstoken keine Bereiche. Stattdessen werden differenzierte Berechtigungen verwendet. Ein Benutzerzugriffstoken verfügt nur über Berechtigungen, die sowohl die Benutzerinnen als auch die App besitzen. Wenn der App beispielsweise die Berechtigung zum Schreiben des Inhalts eines Repositorys erteilt wurde, die Benutzerinnen jedoch nur den Inhalt lesen können, erhält das Benutzerzugriffstoken nur die Berechtigung zum Lesen des Inhalts.
Ebenso kann ein Benutzerzugriffstoken nur auf Ressourcen zugreifen, auf die sowohl die Benutzerinnen als auch die App zugreifen können. Wenn beispielsweise einer App Zugriff auf die Repositorys A
und B
gewährt wurde und die Benutzerinnen Zugriff auf die Repositorys B
und C
haben, kann das Benutzerzugriffstoken auf das Repository B
zugreifen, aber nicht auf A
oder C
. Du kannst mithilfe der REST-API überprüfen, auf welche Installationen und welche Repositorys innerhalb einer Installation ein Benutzerzugriffstoken zugreifen kann. Weitere Informationen findest du unter GET /user/installations
und GET /user/installations/{installation_id}/repositories
unter GitHub App-Installationen.
Wenn du API-Anforderungen mit einem Benutzerzugriffstoken stellen, gelten die Ratenlimits für Benutzerzugriffstoken. Weitere Informationen findest du unter Rate limits for GitHub Apps (Ratenbegrenzungen für GitHub-Apps).
Standardmäßig läuft ein Benutzerzugriffstoken nach 8 Stunden ab. Du kannst ein Aktualisierungstoken verwenden, um ein Benutzerzugriffstoken erneut zu generieren. Weitere Informationen findest du unter Aktualisieren von Benutzerzugriffstoken.
Benutzerinnen können die Autorisierung einer GitHub App widerrufen. Weitere Informationen findest du unter Tokenablauf und Sperrung. Wenn Benutzerinnen die Autorisierung einer GitHub App widerrufen, erhält die App den Webhook github_app_authorization
. GitHub Apps können dieses Ereignis nicht abbestellen. Wenn deine App diesen Webhook empfängt, solltest du den Aufruf der API im Namen der Benutzer*innen beenden, die das Token widerrufen haben. Wenn deine App ein widerrufenes Zugriffstoken weiterhin verwendet, erhält sie den Fehler 401 Bad Credentials
. Weitere Informationen zu diesem Webhook findest du unter Webhook-Ereignisse und -Nutzlasten.
Du musst Benutzerzugriffstoken und Aktualisierungstoken sicher aufbewahren. Weitere Informationen findest du unter Best Practices beim Erstellen einer GitHub-App.
Verwenden des Webanwendungsflusses zum Generieren eines Benutzerzugriffstokens
Wenn deine App im Browser ausgeführt wird, solltest du den Webanwendungsfluss verwenden, um ein Benutzerzugriffstoken zu generieren. Ein Tutorial zur Verwendung des Webanwendungsflusses findest du unter Erstellen der Schaltfläche „Mit GitHub anmelden“ mit einer GitHub-App.
-
Leite die Benutzer*innen an diese URL weiter, und füge alle erforderlichen Abfrageparameter aus der folgenden Liste von Parametern hinzu:
http(s)://HOSTNAME/login/oauth/authorize
. Diese URL gibt beispielsweise die Parameterclient_id
undstate
an:http(s)://HOSTNAME/login/oauth/authorize?client_id=12345&state=abcdefg
.Query parameter (Abfrageparameter) type BESCHREIBUNG client_id
string
Erforderlich. Die Client-ID für deine GitHub App. Die Client-ID unterscheidet sich von der App-ID. Du findest die Client-ID auf der Einstellungsseite deiner App.
Für benutzereigene Apps lautet die Einstellungsseitehttps://github.com/settings/apps/APP-SLUG
.
Für organisationseigene Apps lautet die Einstellungsseitehttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
ErsetzeAPP-SLUG
durch den mit Platzhaltern versehenen Namen deiner App undORGANIZATION
durch den mit Platzhaltern versehenen Namen deiner Organisation. Beispiel:https://github.com/organizations/octo-org/settings/apps/octo-app
.redirect_uri
string
Die URL in der Anwendung, an die Benutzer nach der Autorisierung gesendet werden. Sie muss genau mit einer der URLs übereinstimmen, die du als „Rückruf-URL“ in den Einstellungen deiner App angegeben hast, und sie darf keine zusätzlichen Parameter enthalten. state
string
Bei der Angabe sollte zum Schutz vor Fälschungsangriffen eine zufällige Zeichenfolge eingefügt werden. Sie kann auch andere beliebige Daten enthalten. login
string
Wenn eine Angabe erfolgt, übergibt der Webanwendungsfluss Benutzer*innen ein bestimmtes Konto, das sie für die Anmeldung und Autorisierung deiner App verwenden können. allow_signup
boolean
Gibt an, ob nicht authentifizierten Benutzer*innen während des OAuth-Flusses eine Option zum Registrieren bei GitHub angeboten wird. Der Standardwert lautet true
. Verwendefalse
, wenn eine Richtlinie die Anmeldung verbietet. -
Wenn die Benutzer*innen deine Autorisierungsanforderung akzeptieren, leitet GitHub sie zu einer der Rückruf-URLs in deinen App-Einstellungen um und stellt einen
code
-Abfrageparameter bereit, mit dem du im nächsten Schritt ein Benutzerzugriffstoken erstellen kannst. Wenn du im vorherigen Schrittredirect_uri
angegeben hast, wird diese Rückruf-URL verwendet. Andernfalls wird die erste Rückruf-URL auf der Einstellungsseite deiner App verwendet.Wenn du im vorherigen Schritt den
state
-Parameter angegeben hast, enthält GitHub auch einenstate
-Parameter. Wenn derstate
-Parameter nicht mit demstate
-Parameter übereinstimmt, den du im vorherigen Schritt übermittelt hast, kann die Anforderung nicht als vertrauenswürdig gelten, und der Webanwendungsfluss sollte abgebrochen werden. -
Tausche das
code
-Element aus dem vorherigen Schritt gegen ein Benutzerzugriffstoken aus, indem du einePOST
-Anforderung an diese URL sendest und dabei folgende Abfrageparameter angibst:http(s)://HOSTNAME/login/oauth/access_token
Query parameter (Abfrageparameter) type BESCHREIBUNG client_id
string
Erforderlich. Die Client-ID für deine GitHub App. Die Client-ID unterscheidet sich von der App-ID. Du findest die Client-ID auf der Einstellungsseite deiner App.
Für benutzereigene Apps lautet die Einstellungsseitehttps://github.com/settings/apps/APP-SLUG
.
Für organisationseigene Apps lautet die Einstellungsseitehttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
ErsetzeAPP-SLUG
durch den mit Platzhaltern versehenen Namen deiner App undORGANIZATION
durch den mit Platzhaltern versehenen Namen deiner Organisation. Beispiel:https://github.com/organizations/octo-org/settings/apps/octo-app
.client_secret
string
Erforderlich. Der geheime Clientschlüssel für deine GitHub App. Du kannst einen geheimen Clientschlüssel auf der Einstellungsseite für deine App generieren. code
string
Erforderlich. Der Code, den du im vorherigen Schritt erhalten hast. redirect_uri
string
Die URL in der Anwendung, an die Benutzer nach der Autorisierung gesendet werden. Diese muss genau mit einer der URLs übereinstimmen, die du beim Einrichten deiner GitHub App als „Rückruf-URL“ angegeben hast. Sie darf keine zusätzlichen Parameter enthalten. repository_id
string
Die ID eines einzelnen Repositorys, auf das das Benutzerzugriffstoken zugreifen kann. Wenn die GitHub App oder dieder Benutzerin nicht auf das Repository zugreifen kann, wird dies ignoriert. Verwende diesen Parameter, um den Zugriff auf das Benutzerzugriffstoken weiter einzuschränken. -
GitHub gibt eine Antwort, die folgende Parameter enthält:
Antwortparameter type Beschreibung access_token
string
Das Benutzerzugriffstoken. Das Token beginnt mit ghu_
.expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des access_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer28800
(8 Stunden).refresh_token
string
Das Aktualisierungstoken. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Das Token beginnt mit ghr_
.refresh_token_expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des refresh_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer15811200
(6 Monate).scope
string
Die Bereiche für das Token. Dieser Wert ist immer eine leere Zeichenfolge. Im Gegensatz zu einem herkömmlichen OAuth-Token ist das Benutzerzugriffstoken auf die Berechtigungen beschränkt, die sowohl deiner App als auch den Benutzer*innen zugewiesen wurden. token_type
string
Der Tokentyp. Der Wert ist immer bearer
. -
Verwende das Benutzerzugriffstoken aus dem vorherigen Schritt, um API-Anforderungen im Namen von Benutzer*innen auszuführen. Schließe das Benutzerzugriffstoken in den
Authorization
-Header einer API-Anforderung ein. Zum Beispiel:curl --request GET \ --url "http(s)://HOSTNAME/api/v3/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN"
Verwenden des Geräteflusses zum Generieren eines Benutzerzugriffstokens
Hinweis: Der Gerätefluss befindet sich in der öffentlichen Betaversion und kann geändert werden.
Wenn deine App monitorlos ist oder keinen Zugriff auf einen Browser hat, solltest du den Gerätefluss verwenden, um ein Benutzerzugriffstoken zu generieren. Beispielsweise sollten CLI-Tools, einfache Raspberry Pi-Geräte und Desktopanwendungen den Gerätefluss verwenden. Ein Tutorial zur Verwendung des Geräteflusses findest du unter Erstellen einer CLI mit einer GitHub-App.
Im Gerätefluss wird die Erweiterung OAuth 2.0 Device Authorization Grant verwendet.
-
Sende eine
POST
-Anforderung zusammen mit einemclient_id
-Abfrageparameter anhttp(s)://HOSTNAME/login/device/code
. Die Client-ID unterscheidet sich von der App-ID. Du findest die Client-ID auf der Einstellungsseite deiner App.- Für benutzereigene Apps lautet die Einstellungsseite
https://github.com/settings/apps/APP-SLUG
. - Für organisationseigene Apps lautet die Einstellungsseite
https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
Ersetze
APP-SLUG
durch den mit Platzhaltern versehenen Namen deiner App undORGANIZATION
durch den mit Platzhaltern versehenen Namen deiner Organisation. Beispiel:https://github.com/organizations/octo-org/settings/apps/octo-app
. - Für benutzereigene Apps lautet die Einstellungsseite
-
GitHub gibt eine Antwort, die die folgenden Abfrageparameter enthält:
Antwortparameter type Beschreibung device_code
string
Ein Prüfcode zum Überprüfen des Geräts. Dieser Code ist 40 Zeichen lang. user_code
string
Ein Prüfcode, den deine Anwendung anzeigen sollte, damit die Benutzer*innen ihn in einem Browser eingeben können. Dieser Code umfasst 8 Zeichen mit einem Bindestrich in der Mitte. Beispiel: WDJB-MJHT
.verification_uri
string
Die URL, unter die Benutzer*innen ihren user_code
eingeben müssen. Die URL lautet:http(s)://HOSTNAME/login/device
.expires_in
integer
Die Anzahl der Sekunden, bevor device_code
unduser_code
ablaufen. Der Standardwert beträgt 900 Sekunden (15 Minuten).interval
integer
Die Zeit in Sekunden, die mindestens verstreichen muss, bevor du eine neue Zugriffstokenanforderung ( POST http(s)://HOSTNAME/login/oauth/access_token
) vornehmen kannst, um die Geräteautorisierung abzuschließen. Wenn du vor Ablauf dieses Zeitraums eine Anforderung übermittelst, wird der Grenzwert für die Rate erreicht und einslow_down
-Fehler angezeigt. Die Standardeinstellung ist 5 Sekunden. -
Fordere die Benutzer*innen auf, den
user_code
aus dem vorherigen Schritt unterhttp(s)://HOSTNAME/login/device
einzugeben.Wenn die Benutzer*innen den Code nicht vor Ablauf des
expires_in
-Zeitraums eingeben, wird der Code ungültig. In diesem Fall solltest du den Gerätefluss neu starten. -
Rufe
POST http(s)://HOSTNAME/login/oauth/access_token
zusammen mit den Abfrageparameternclient_id
,device_code
undgrant_type
(unten beschrieben) ab, bis die Geräte- und Benutzercodes ablaufen oder die Benutzer*innen die App durch Eingabe desuser_code
erfolgreich autorisiert haben.Query parameter (Abfrageparameter) type BESCHREIBUNG client_id
string
Erforderlich. Die Client-ID für deine GitHub App. device_code
string
Erforderlich. Der Geräteprüfcode, den du im vorherigen Schritt erhalten hast. grant_type
string
Erforderlich. Der Gewährungstyp muss urn:ietf:params:oauth:grant-type:device_code
sein.repository_id
string
Die ID eines einzelnen Repositorys, auf das das Benutzerzugriffstoken zugreifen kann. Wenn die GitHub App oder dieder Benutzerin nicht auf das Repository zugreifen kann, wird dies ignoriert. Verwende diesen Parameter, um den Zugriff auf das Benutzerzugriffstoken weiter einzuschränken. Rufe diesen Endpunkt nicht in kürzeren Abständen als durch
interval
angegeben ab. Andernfalls wird der Grenzwert für die Rate erreicht und einslow_down
-Fehler angezeigt. Dieslow_down
-Fehlerantwort fügt dem letzten Intervall (interval
) 5 Sekunden hinzu.Bis Benutzer*innen den Code eingeben, antwortet GitHub mit dem Status „200“ und dem Antwortabfrageparameter
error
.Fehlerbezeichnung BESCHREIBUNG authorization_pending
Dieser Fehler tritt auf, wenn die Autorisierungsanforderung aussteht und der Benutzer noch nicht den Benutzercode eingegeben hat. Von der App wird erwartet, dass sie POST http(s)://HOSTNAME/login/oauth/access_token
weiterhin mit einer Häufigkeit abfragt, die nicht schneller als die durchinterval
angegebene Häufigkeit ist.slow_down
Wenn du den slow_down
-Fehler erhältst, werden 5 zusätzliche Sekunden dem Mindestintervall (interval
) oder -zeitrahmen hinzugefügt, das bzw. der zwischen deinen Anforderungen mitPOST http(s)://HOSTNAME/login/oauth/access_token
erforderlich ist. Wenn beispielsweise für das Startintervall mindestens 5 Sekunden zwischen Anforderungen erforderlich waren und einslow_down
-Fehler angezeigt wird, musst du jetzt mindestens 10 Sekunden warten, bevor du eine neue Anforderung für ein Token vornimmst. Die Fehlerantwort enthält den neuen Wert fürinterval
, den du verwenden musst.expired_token
Wenn der Gerätecode abgelaufen ist, wird der token_expired
-Fehler angezeigt. Du musst eine neue Anforderung für einen Gerätecode vornehmen.unsupported_grant_type
Der Gewährungstyp muss urn:ietf:params:oauth:grant-type:device_code
sein und als Eingabeparameter enthalten sein, wenn du die OAuth-TokenanforderungPOST http(s)://HOSTNAME/login/oauth/access_token
abfragst.incorrect_client_credentials
Für den Gerätefluss musst du die Client-ID deiner App übergeben, die du auf der Seite „Einstellungen“ deiner App findest. Die Client-ID unterscheidet sich von der App-ID und dem geheimen Clientschlüssel. incorrect_device_code
Der bereitgestellte device_code
ist ungültig.access_denied
Wenn Benutzerinnen während des Autorisierungsprozesses auf „Abbrechen“ klicken, wird ein access_denied
-Fehler angezeigt, und die Benutzerinnen können den Überprüfungscode nicht noch einmal verwenden. -
Nach der Eingabe des
user_code
durch die Benutzer*innen antwortet GitHub mit einer Antwort, die die folgenden Abfrageparameter enthält:Antwortparameter type Beschreibung access_token
string
Das Benutzerzugriffstoken. Das Token beginnt mit ghu_
.expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des access_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer28800
(8 Stunden).refresh_token
string
Das Aktualisierungstoken. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Das Token beginnt mit ghr_
.refresh_token_expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des refresh_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer15811200
(6 Monate).scope
string
Die Bereiche für das Token. Dieser Wert ist immer eine leere Zeichenfolge. Im Gegensatz zu einem herkömmlichen OAuth-Token ist das Benutzerzugriffstoken auf die Berechtigungen beschränkt, die sowohl deiner App als auch den Benutzer*innen zugewiesen wurden. token_type
string
Der Tokentyp. Der Wert ist immer bearer
. -
Verwende das Benutzerzugriffstoken aus dem vorherigen Schritt, um API-Anforderungen im Namen von Benutzer*innen auszuführen. Schließe das Benutzerzugriffstoken in den
Authorization
-Header einer API-Anforderung ein. Zum Beispiel:curl --request GET \ --url "http(s)://HOSTNAME/api/v3/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN"
Generieren eines Benutzerzugriffstokens, wenn Benutzer*innen deine App installieren
Wenn du in den App-Einstellungen Benutzerautorisierung während der Installation anfordern (OAuth) auswählst, startet GitHub den Webanwendungsfluss sofort, nachdem Benutzer*innen deine App installiert haben.
Du kannst mit dieser Methode ein Benutzerzugriffstoken generieren, unabhängig davon, ob die App unter einem Benutzerkonto oder einem Organisationskonto installiert ist. Wenn die App jedoch unter einem Organisationskonto installiert wurde, musst du den Webanwendungsfluss oder den Gerätefluss verwenden, um ein Benutzerzugriffstoken für andere Benutzer*innen in der Organisation zu generieren.
-
Wenn Benutzer*innen deine App installiert, leitet GitHub sie zu
http(s)://HOSTNAME/login/oauth/authorize?client_id=CLIENT_ID
um, wobeiCLIENT_ID
die Client-ID deiner App ist. -
Wenn die Benutzer*innen deine Autorisierungsanforderung akzeptieren, leitet GitHub sie zur ersten Rückruf-URL in deinen App-Einstellungen um und stellt einen
code
-Abfrageparameter bereit.Wenn du festlegen möchtest, welche Rückruf-URL verwendet wird, wählst du Benutzerautorisierung während der Installation anfordern (OAuth) nicht aus. Führe die Benutzer*innen stattdessen durch den vollständigen Webanwendungsfluss, und gib den
redirect_uri
-Parameter an. -
Tausche das
code
-Element aus dem vorherigen Schritt gegen ein Benutzerzugriffstoken aus, indem du einePOST
-Anforderung an diese URL sendest und dabei folgende Abfrageparameter angibst:http(s)://HOSTNAME/login/oauth/access_token
Query parameter (Abfrageparameter) type BESCHREIBUNG client_id
string
Erforderlich. Die Client-ID für deine GitHub App. Die Client-ID unterscheidet sich von der App-ID. Du findest die Client-ID auf der Einstellungsseite deiner App.
Für benutzereigene Apps lautet die Einstellungsseitehttps://github.com/settings/apps/APP-SLUG
.
Für organisationseigene Apps lautet die Einstellungsseitehttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
ErsetzeAPP-SLUG
durch den mit Platzhaltern versehenen Namen deiner App undORGANIZATION
durch den mit Platzhaltern versehenen Namen deiner Organisation. Beispiel:https://github.com/organizations/octo-org/settings/apps/octo-app
.client_secret
string
Erforderlich. Der geheime Clientschlüssel für deine GitHub App. Du kannst einen geheimen Clientschlüssel auf der Einstellungsseite für deine App generieren. code
string
Erforderlich. Der Code, den du im vorherigen Schritt erhalten hast. redirect_uri
string
Die URL in der Anwendung, an die Benutzer nach der Autorisierung gesendet werden. Diese muss genau mit einer der URLs übereinstimmen, die du beim Einrichten deiner GitHub App als „Rückruf-URL“ angegeben hast. Sie darf keine zusätzlichen Parameter enthalten. repository_id
string
Die ID eines einzelnen Repositorys, auf das das Benutzerzugriffstoken zugreifen kann. Wenn die GitHub App oder dieder Benutzerin nicht auf das Repository zugreifen kann, wird dies ignoriert. Verwende diesen Parameter, um den Zugriff auf das Benutzerzugriffstoken weiter einzuschränken. -
GitHub gibt eine Antwort, die folgende Parameter enthält:
Antwortparameter type Beschreibung access_token
string
Das Benutzerzugriffstoken. Das Token beginnt mit ghu_
.expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des access_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer28800
(8 Stunden).refresh_token
string
Das Aktualisierungstoken. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Das Token beginnt mit ghr_
.refresh_token_expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des refresh_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer15811200
(6 Monate).scope
string
Die Bereiche für das Token. Dieser Wert ist immer eine leere Zeichenfolge. Im Gegensatz zu einem herkömmlichen OAuth-Token ist das Benutzerzugriffstoken auf die Berechtigungen beschränkt, die sowohl deiner App als auch den Benutzer*innen zugewiesen wurden. token_type
string
Der Tokentyp. Der Wert ist immer bearer
. -
Verwende das Benutzerzugriffstoken aus dem vorherigen Schritt, um API-Anforderungen im Namen von Benutzer*innen auszuführen. Schließe das Benutzerzugriffstoken in den
Authorization
-Header einer API-Anforderung ein. Zum Beispiel:curl --request GET \ --url "http(s)://HOSTNAME/api/v3/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN"
Verwenden eines Aktualisierungstokens zum Generieren eines Benutzerzugriffstokens
Standardmäßig laufen Benutzerzugriffstoken nach 8 Stunden ab. Wenn du ein Benutzerzugriffstoken mit einer Ablaufzeit empfängst, erhältst du auch ein Aktualisierungstoken. Das Aktualisierungstoken läuft nach 6 Monaten ab. Du kannst dieses Aktualisierungstoken verwenden, um ein Benutzerzugriffstoken erneut zu generieren. Weitere Informationen findest du unter Aktualisieren von Benutzerzugriffstoken.
GitHub empfiehlt dringend, ablaufende Benutzerzugriffstoken zu verwenden. Wenn du dich zuvor gegen die Verwendung von ablaufenden Benutzerzugriffstoken entschieden hast, aber dieses Feature nun aktivieren möchtest, findest du unter Activating optional features for GitHub Apps weitere Informationen.
Unterstützte Endpunkte für Benutzerzugriffstoken
Überprüfungsausführungen
- Erstellen einer Überprüfungsausführung
- Abrufen einer Überprüfungsausführung
- Aktualisieren einer Überprüfungsausführung
- Auflisten von Anmerkungen von Überprüfungsausführungen
- Auflisten von Überprüfungsausführungen in einer Überprüfungssammlung
- Auflisten von Überprüfungsausführungen für einen Git-Verweis
Prüfsuiten
- Erstellen einer Überprüfungssammlung
- Abrufen einer Überprüfungssammlung
- Anfordern einer Überprüfungssammlung
- Aktualisieren von Repositoryeinstellungen für Überprüfungssamlungen
- Auflisten von Überprüfungssammlungen für einen Git-Verweis
Verhaltensregeln
Bereitstellungsstatus
- Auflisten von Bereitstellungsstatus
- Erstellen eines Bereitstellungsstatus
- Abrufen eines Bereitstellungsstatus
Bereitstellungen
- Auflisten von Bereitstellungen
- Erstellen einer Bereitstellung
- Abrufen einer Bereitstellung
- Löschen einer Bereitstellung
Ereignisse
- Auflisten öffentlicher Ereignisse für ein Netzwerk von Repositorys
- Auflisten öffentlicher Organisationsereignisse
Feeds
Git-Blobs
Git-Commits
Git-Verweise
- Erstellen eines Verweises
- Abrufen eines Verweises
- Auflisten übereinstimmender Verweise
- Aktualisieren eines Verweises
- Löschen eines Verweises
Git-Tags
Git-Strukturen
Gitignore-Vorlagen
Installationen
Issues zugewiesene Personen
- Hinzufügen von zugewiesenen Personen zu einem Issue
- Entfernen von zugewiesenen Personen von einem Issue
Issue-Kommentare
- Auflisten von Issue-Komponenten
- Erstellen eines Issue-Kommentars
- Auflisten von Issue-Kommentaren für ein Repository
- Abrufen eines Issue-Kommentars
- Aktualisieren eines Issue-Kommentars
- Löschen eines Issue-Kommentars
Issue-Ereignisse
Issue-Zeitachse
Probleme
- Auflisten der dem authentifizierten Benutzer zugewiesenen Issues
- Auflisten der zugewiesenen Personen
- Überprüfen, ob ein Benutzer zugewiesen werden kann
- Auflisten von Repository-Issues
- Ausgabe erstellen
- Abrufen eines Issues
- Aktualisieren eines Issues
- Sperren eines Issues
- Entsperren eines Issues
Bezeichnungen
- Auflisten von Bezeichnungen für ein Issue
- Hinzufügen von Bezeichnungen zu einem Issue
- Festlegen von Bezeichnungen für ein Issue
- Entfernen aller Bezeichnungen aus einem Issue
- Entfernen einer Bezeichnung aus einem Issue
- Auflisten von Bezeichnungen für ein Repository
- Erstellen einer Bezeichnung
- Abrufen einer Bezeichnung
- Aktualisieren einer Bezeichnung
- Löschen einer Bezeichnung
- Abrufen von Bezeichnungen für jedes Issue in einem Meilenstein
Lizenzen
Markdown
Meta
Meilensteine
- Auflisten von Meilensteinen
- Erstellen eines Meilensteins
- Abrufen eines Meilensteins
- Aktualisieren eines Meilensteins
- Löschen eines Meilensteins
Organisationshooks
- Auflisten von Organisationswebhooks
- Erstellen eines Organisationswebhooks
- Abrufen eines Organisationswebhooks
- Aktualisieren eines Organisationswebhooks
- Löschen eines Organisationswebhooks
- Pingen eines Organisationswebhooks
Organisationsmitglieder
- Auflisten von Organisationsmitgliedern
- Überprüfen der Organisationsmitgliedschaft für einen Benutzer
- Entfernen eines Organisationsmitglieds
- Abrufen der Organisationsmitgliedschaft für einen Benutzer
- Festlegen der Organisationsmitgliedschaft für einen Benutzer
- Entfernen der Organisationsmitgliedschaft für einen Benutzer
- Auflisten öffentlicher Organisationsmitglieder
- Überprüfen der Organisationsmitgliedschaft für einen Benutzer
- Festlegen der öffentlichen Organisationsmitgliedschaft für den authentifizierten Benutzer
- Entfernen der öffentlichen Organisationsmitgliedschaft für den authentifizierten Benutzer
Projektmitarbeiter außerhalb der Organisation
- Auflisten von externen Projektmitarbeitern für eine Organisation
- Umwandeln eines Organisationsmitglieds in einen externen Projektmitarbeiter
- Entfernen eines externen Projektmitarbeiters aus einer Organisation
Pre-Receive-Hooks für eine Organisation
- Auflisten von Pre-Receive-Hooks für eine Organisation
- Abrufen eines Pre-Receive-Hooks für eine Organisation
- Aktualisieren der Erzwingung eines Pre-Receive-Hooks für eine Organisation
- Entfernen der Erzwingung eines Pre-Receive-Hooks für eine Organisation
Teamprojekte einer Organisation
- Auflisten von Teamprojekten
- Überprüfen der Teamberechtigungen für ein Projekt
- Hinzufügen oder Aktualisieren von Teamprojektberechtigungen
- Entfernen eines Projekts aus einem Team
Teamrepositorys einer Organisation
- Auflisten von Teamrepositorys
- Überprüfen der Teamberechtigungen für ein Repository
- Hinzufügen oder Aktualisieren von Berechtigungen für Teamrepositorys
- Entfernen eines Repositorys aus einem Team
Organisationsteams
- Auflisten von Teams
- Zusammenstellen eines Teams
- Abrufen eines Teams nach Namen
- Aktualisieren eines Teams
- Löschen eines Teams
- Auflisten von Teammitgliedern
- Abrufen der Teammitgliedschaft für einen Benutzer
- Hinzufügen oder Aktualisieren der Teammitgliedschaft für einen Benutzer
- Entfernen der Teammitgliedschaft für einen Benutzer
- Auflisten untergeordneter Teams
- Auflisten von Teams für den authentifizierten Benutzer
Organisationen
- Auflisten von Organisationen
- Abrufen einer Organisation
- Aktualisieren einer Organisation
- Auflisten von Organisationsmitgliedschaften für den authentifizierten Benutzer
- Abrufen der Organisationsmitgliedschaft für den authentifizierten Benutzer
- Aktualisieren der Organisationsmitgliedschaft für den authentifizierten Benutzer
- Auflisten von Organisationen für den authentifizierten Benutzer
- Auflisten von Organisationen für einen Benutzer
Projektmitarbeiter
- Auflisten von Projektmitarbeitern
- Hinzufügen eines Projektmitarbeiters
- Entfernen eines Projektmitarbeiters
- Abrufen der Projektberechtigung für einen Benutzer
Projekte
- Auflisten von Organisationsprojekten
- Erstellen eines Organisationsprojekts
- Abrufen eines Projekts
- Aktualisieren eines Projekts
- Löschen eines Projekts
- Auflisten von Projektspalten
- Auflisten einer Projektspalte
- Abrufen einer Projektspalte
- Aktualisieren einer Projektspalte
- Löschen einer Projektspalte
- Auflisten von Projektkarten
- Erstellen einer Projektkarte
- Verschieben einer Projektspalte
- Abrufen einer Projektkarte
- Aktualisieren einer Projektkarte
- Löschen einer Projektkarte
- Verschieben einer Projektkarte
- Auflisten von Repositoryprojekten
- Erstellen eines Repositoryprojekts
Pullkommentare
- Auflisten von Überprüfungskommentaren zu einem Pull Request
- Erstellen eines Überprüfungskommentars für einen Pull Request
- Auflisten von Überprüfungskommentaren in einem Repository
- Abrufen eines Überprüfungskommentars für einen Pull Request
- Aktualisieren eines Überprüfungskommentars für einen Pull Request
- Löschen eines Überprüfungskommentars für einen Pull Request
Überprüfungsereignisse für Pull Requests
- Schließen einer Überprüfung für einen Pull Request
- Übermitteln einer Überprüfung für einen Pull Request
Überprüfungsanforderungen für Pull Requests
- Auflisten angeforderter Prüfer für einen Pull Request
- Anfordern von Prüfern für einen Pull Request
- Entfernen angeforderter Prüfer aus einem Pull Request
Prüfer von Pull Requests
- Auflisten von Prüfungen für einen Pull Request
- Erstellen einer Überprüfung für einen Pull Request
- Abrufen einer Überprüfung für einen Pull Request
- Aktualisieren einer Überprüfung für einen Pull Request
- Auflisten von Kommentaren für eine Überprüfung eines Pull Requests
Pulls
- Auflisten von Pull Requests
- Erstellen eines Pull Requests
- Abrufen eines Pull Requests
- Aktualisieren eines Pull Requests
- Auflisten von Commits in einem Pull Request
- Auflisten von Pull-Request-Dateien
- Überprüfen, ob ein Pull Request zusammengeführt wurde
- Zusammenführen eines Pull Requests (Schaltfläche „Zusammenführen“)
Reaktionen
- Löschen einer Reaktion
- Auflisten von Reaktionen für einen Commitkommentar
- Erstellen einer Reaktionen für einen Commitkommentar
- Auflisten von Reaktionen für ein Issue
- Erstellen einer Reaktionen für ein Issue
- Auflisten von Reaktionen für einen Issuekommentar
- Erstellen einer Reaktion für einen Issuekommentar
- Auflisten von Reaktionen für einen Überprüfungskommentar für einen Pull Request
- Erstellen einer Reaktion für einen Pull Request-Überprüfungskommentar
- Auflisten von Reaktionen für einen Teamdiskussionskommentar
- Erstellen einer Reaktion für einen Teamdiskussionskommentar
- Auflisten von Reaktionen für eine Teamdiskussion
- Erstellen einer Reaktion auf eine Teamdiskussion
- Löschen einer Reaktion für einen Commitkommentar
- Löschen einer Issue-Reaktion
- Löschen einer Reaktion auf einen Commitkommentar
- Löschen einer Reaktion auf einen Pull Request-Kommentar
- Löschen einer Teamdiskussionsreaktion
- Löschen einer Reaktion auf einen Teamdiskussionskommentar
Repositorys
- Auflisten von Organisationsrepositorys
- Erstellen eines Repositorys für den authentifizierten Benutzer
- Abrufen eines Repositorys
- Aktualisieren eines Repositorys
- Löschen eines Repositorys
- Vergleichen von zwei Commits
- Auflisten von Mitwirkenden eines Repositorys
- Auflisten von Forks
- Erstellen eines Forks
- Auflisten von Repositorysprachen
- Auflisten von Repositorytags
- Auflisten von Repositoryteams
- Übertragen eines Repositorys
- Auflisten öffentlicher Repositorys
- Auflisten von Repositorys für den authentifizierten Benutzer
- Auflisten von Repositorys für einen Benutzer
- Erstellen eines Repositorys mithilfe einer Repositoryvorlage
Repositoryaktivität
- Auflisten von Stargazern
- Auflisten von Watchern
- Auflisten der von einem Benutzer markierten Repositorys
- Überprüfen, ob ein Repository vom authentifizierten Benutzer markiert ist
- Markieren eines Repositorys für den authentifizierten Benutzer
- Aufheben der Markierung eines Repositorys für den authentifizierten Benutzer
- Auflisten von Repositorys, die von einem Benutzer überwacht werden
Repositorybranches
- Auflisten von Branches
- Abrufen von Branches
- Abrufen von Branchschutz
- Aktualisieren von Branchschutz
- Löschen von Branchschutz
- Abrufen von Administratorbranchschutz
- Festlegen von Administratorbranchschutz
- Löschen von Administratorbranchschutz
- Abrufen von Schutz für Pull-Request-Überprüfungen
- Aktualisieren von Schutz für Pull-Request-Überprüfungen
- Löschen von Schutz für Pull-Request-Überprüfungen
- Abrufen von Schutz für Commitsignaturen
- Erstellen von Schutz für Commitsignaturen
- Löschen von Schutz für Commitsignaturen
- Abrufen von Schutz für Statusüberprüfungen
- Aktualisieren von Schutz für Statusüberprüfungen
- Entfernen von Schutz für Statusüberprüfungen
- Abrufen aller Statusüberprüfungskontexte
- Hinzufügen von Statusüberprüfungskontexten
- Festlegen von Statusüberprüfungskontexten
- Entfernen von Statusüberprüfungskontexten
- Abrufen von Zugriffseinschränkungen
- Löschen von Zugriffseinschränkungen
- Auflisten von Teams mit Zugriff auf den geschützten Branch
- Hinzufügen von Teamzugriffseinschränkungen
- Festlegen von Teamzugriffseinschränkungen
- Entfernen von Teamzugriffseinschränkungen
- Auflisten von Benutzereinschränkungen von geschützten Branches
- Hinzufügen von Benutzerzugriffseinschränkungen
- Festlegen von Benutzerzugriffseinschränkungen
- Entfernen von Benutzerzugriffseinschränkungen
- Zusammenführen einer Verzweigung
Projektmitarbeiter für Repositorys
- Auflisten von Projektmitarbeitern für Repositorys
- Überprüfen, ob ein Benutzer ein Projektmitarbeiter für Repositorys ist
- Hinzufügen eines Projektmitarbeiters für Repositorys
- Entfernen eines Projektmitarbeiters für Repositorys
- Abrufen von Repositoryberechtigungen für einen Benutzer
Commitkommentare für Repositorys
- Auflisten von Commitkommentaren für ein Repository
- Abrufen eines Commitkommentars
- Aktualisieren eines Commitkommentars
- Löschen eines Commitkommentars
- Auflisten von Commitkommentaren
- Erstellen eines Commitkommentars
Repositorycommits
- Auflisten von Commits
- Abrufen eines Commits
- Auflisten von Branches für Head-Commit
- Auflisten von mit dem Commit verknüpften Pull Requests
Repositorycommunity
Repositoryinhalte
- Herunterladen eines Repositoryarchivs
- Abrufen von Repositoryinhalt
- Erstellen oder Aktualisieren von Dateiinhalten
- Löschen von Dateien
- Abrufen der Infodatei eines Repositorys
- Abrufen der Lizenz für ein Repository
Repositoryereignisdispatches
Repositoryhooks
- Auflisten von Repositorywebhooks
- Erstellen eines Repositorywebhooks
- Abrufen eines Repositorywebhooks
- Aktualisieren eines Repositorywebhooks
- Löschen eines Repositorywebhooks
- Pingen eines Repositorywebhooks
- Testen des Pushrepositorywebhooks
Repositoryeinladungen
- Auflisten von Repositoryeinladungen
- Aktualisieren einer Repositoryeinladung
- Löschen einer Repositoryeinladung
- Auflisten von Repositoryeinladungen für den authentifizierten Benutzer
- Akzeptieren einer Repositoryeinladung
- Ablehnen einer Repositoryeinladung
Repositoryschlüssel
- Auflisten von Bereitstellungsschlüsseln
- Erstellen eines Bereitstellungsschlüssels
- Abrufen eines Bereitstellungsschlüssels
- Löschen eines Bereitstellungsschlüssels
Repositoryseiten
- Abrufen einer GitHub Pages-Website
- Erstellen einer GitHub Pages-Website
- Aktualisieren von Informationen zu einer GitHub Pages-Website
- Löschen einer GitHub Pages-Website
- Auflisten von GitHub Pages-Builds
- Anfordern eines GitHub Pages-Builds
- Abrufen eines GitHub Pages-Builds
- Abrufen des aktuellen Pages-Builds
Pre-Receive-Hooks für Repository
- Auflisten von Pre-Receive-Hooks für ein Repository
- Abrufen eines Pre-Receive-Hooks für ein Repository
- Aktualisieren der Erzwingung eines Pre-Receive-Hooks für ein Repository
- Entfernen der Erzwingung eines Pre-Receive-Hooks für ein Repository
Repositoryreleases
- Releases auflisten
- Erstellen eines Release
- Abrufen eines Release
- Aktualisieren eines Release
- Löschen eines Release
- Auflisten von Releaseressourcen
- Abrufen einer Releaseressource
- Aktualisieren einer Releaseressource
- Löschen einer Releaseressource
- Abrufen des aktuellen Release
- Abrufen eines Release nach Tagnamen
Repositorystatistiken
- Abrufen der wöchentlichen Commitaktivität
- Abrufen des letzten Jahres der Commitaktivität
- Abrufen aller Commitaktivitäten für Mitwirkende
- Abrufen der wöchentlichen Commitanzahl
- Abrufen der stündlichen Commitanzahl für jeden Tag
Root
Suche
- Durchsuchen von Code
- Durchsuchen von Commits
- Durchsuchen von Bezeichnungen
- Durchsuchen von Repositorys
- Durchsuchen von Themen
- Benutzer suchen
Status
- Abrufen des kombinierten Status für einen bestimmten Verweis
- Auflisten von Commitstatus für einen Verweis
- Erstellen eines Commitstatus
Teamdiskussionen
- Auflisten von Diskussionen
- Erstellen einer Diskussion
- Abrufen einer Diskussion
- Aktualisieren einer Diskussion
- Löschen einer Diskussion
- Auflisten von Diskussionskommentaren
- Erstellen eines Diskussionskommentars
- Abrufen eines Diskussionskommentars
- Aktualisieren eines Diskussionskommentars
- Löschen eines Diskussionskommentars
Themen
Benutzer-E-Mails
- Auflisten von E-Mail-Adressen für den authentifizierten Benutzer
- Hinzufügen von E-Mail-Adresse(n)
- Löschen von E-Mail-Adresse(n)
- Auflisten öffentlicher E-Mail-Adressen für den authentifizierten Benutzer
Benutzerfollower
- Auflisten der Follower eines Benutzers
- Auflisten der Personen, denen ein Benutzer folgt
- Überprüfen, ob der authentifizierte Benutzer einer Person folgt
- Einem Benutzer folgen
- Einem Benutzer nicht mehr folgen
- Überprüfen, ob ein Benutzer einem anderen Benutzer folgt
Benutzer-GPG-Schlüssel
- Auflisten von GPG-Schlüsseln für den authentifizierten Benutzer
- Erstellen eines GPG-Schlüssels für den authentifizierten Benutzer
- Festlegen eines GPG-Schlüssels für den authentifizierten Benutzer
- Löschen eines GPG-Schlüssels für den authentifizierten Benutzer
- Auflisten von GPG-Schlüsseln für einen Benutzer
Öffentliche Schlüssel für Benutzer
- Auflisten der öffentlichen SSH-Schlüssel für den authentifizierten Benutzer
- Erstellen eines öffentlichen SSH-Schlüssels für den authentifizierten Benutzer
- Abrufen eines öffentlichen SSH-Schlüssels für den authentifizierten Benutzer
- Löschen eines öffentlichen SSH-Schlüssels für den authentifizierten Benutzer
- Auflisten öffentlicher Schlüssel für einen Benutzer