Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um mit nuget.org zu interagieren, müssen Clients bestimmte Protokolle befolgen. Da sich diese Protokolle weiterentwickeln, müssen Clients die Protokollversion identifizieren, die sie beim Aufrufen bestimmter nuget.org-APIs verwenden. Auf diese Weise kann nuget.org Änderungen für die bestehenden Clients auf eine nicht beeinträchtigende Weise einführen.
Hinweis
Die auf dieser Seite dokumentierten APIs sind spezifisch für nuget.org und es gibt keine Erwartung für andere NuGet-Serverimplementierungen, diese APIs einzuführen.
Informationen zur NuGet-API, die allgemein im NuGet-Ökosystem implementiert wurde, finden Sie in der API-Übersicht.
In diesem Thema werden verschiedene Protokolle aufgelistet, sobald sie entstehen.
NuGet-Protokoll, Version 4.1.0
Das 4.1.0-Protokoll gibt die Verwendung von Prüfbereichsschlüsseln für die Interaktion mit anderen Diensten als nuget.org an, um ein Paket für ein nuget.org Konto zu überprüfen. Beachten Sie, dass die 4.1.0 Versionsnummer eine undurchsichtige Zeichenfolge ist, aber mit der ersten Version des offiziellen NuGet-Clients übereinstimmt, der dieses Protokoll unterstützt hat.
Die Validierung stellt sicher, dass die vom Benutzer erstellten API-Schlüssel nur mit nuget.org verwendet werden, und dass andere Überprüfungen oder Verifizierungen durch einen Drittanbieterdienst mithilfe von einmaligen Verifizierungsbereichs-Schlüsseln durchgeführt werden. Mithilfe dieser Überprüfungsschlüssel kann überprüft werden, ob das Paket zu einem bestimmten Benutzer (Konto) auf nuget.org gehört.
Clientanforderung
Clients müssen den folgenden Header übergeben, wenn sie API-Aufrufe an Pushpakete an nuget.org senden:
X-NuGet-Protocol-Version: 4.1.0
Beachten Sie, dass der X-NuGet-Client-Version Header über ähnliche Semantik verfügt, aber nur für die Verwendung durch den offiziellen NuGet-Client reserviert ist. Drittanbieter-Clients sollten den Header und den Wert X-NuGet-Protocol-Version verwenden.
Das Pushprotokoll selbst wird in der Dokumentation für die PackagePublish Ressource beschrieben.
Wenn ein Client mit externen Diensten interagiert und überprüfen muss, ob ein Paket zu einem bestimmten Benutzer (Konto) gehört, sollte er das folgende Protokoll verwenden und die Prüfbereichsschlüssel und nicht die API-Schlüssel aus nuget.org verwenden.
API zum Anfordern eines Überprüfungsbereichsschlüssels
Diese API wird verwendet, um einen Überprüfungsbereichsschlüssel für einen nuget.org Autor abzurufen, um ein Paket zu überprüfen, das ihm gehört.
POST api/v2/package/create-verification-key/{ID}/{VERSION}
Anforderungsparameter
| Name | In | Typ | Erforderlich | Hinweise |
|---|---|---|---|---|
| ID | URL | Schnur | ja | Der Paketidentifier, für das der Überprüfungsbereichsschlüssel angefordert wird |
| VERSION | URL | Schnur | nein | Die Paketversion |
| X-NuGet-ApiKey | Header | Schnur | ja | Beispiel: X-NuGet-ApiKey: {USER_API_KEY} |
Antwort
{
"Key": "{Verify scope key from nuget.org}",
"Expires": "{Date}"
}
API zum Verifizieren des Überprüfungsbereichsschlüssels
Diese API wird verwendet, um einen Verify-Scope-Schlüssel für das vom nuget.org-Autor gehaltene Paket zu validieren.
GET api/v2/verifykey/{ID}/{VERSION}
Anforderungsparameter
| Name | In | Typ | Erforderlich | Hinweise |
|---|---|---|---|---|
| ID | URL | Schnur | ja | Der Paketbezeichner, für den der Überprüfungsbereichsschlüssel angefordert wird |
| VERSION | URL | Schnur | nein | Die Paketversion |
| X-NuGet-ApiKey | Header | Schnur | ja | Beispiel: X-NuGet-ApiKey: {VERIFY_SCOPE_KEY} |
Hinweis
Dieser API-Schlüssel zur Überprüfung des Bereichs läuft entweder nach einem Tag oder bei der ersten Verwendung ab, je nachdem, was zuerst eintritt.
Antwort
| Statuscode | Bedeutung |
|---|---|
| 200 | Der API-Schlüssel ist gültig. |
| 403 | Der API-Schlüssel ist ungültig oder nicht autorisiert, um das Paket zu aktualisieren. |
| 404 | Das Paket, auf das ID verwiesen wird, oder VERSION (optional) sind nicht vorhanden. |