Here to oficjalna dokumentacja interfejsu API NuGet V3. API składa się z wielu protokołów, w tym:
- Service Index - używany przez klienta, aby odkryć usługi Nuget
- Search Service - używane przez klientów do wyszukiwania pakietów Nuget
- Registration - JSON -LD struktura przechowująca metadane pakietów. Dotyczy to zawartości, zależności, opisów itp. Pakietów ...
- The "PackageBaseAddress" - Sklep zawierający rzeczywiste pakiety i ich pliki manifestu (
nuspec
).
Załóżmy, że chcesz pobrać pakiet "Newtonsoft JSON.":
- uzyskać wskaźnik serwisowy: `GET https://api.nuget.org/v3/index.json
odpowiedź zawiera adres PackageBaseAddress (aka, niepoprawnie jako płaski kontener, ponieważ jest hierarchiczny i nie płaski :)):
{
"@id": "https://api.nuget.org/v3-flatcontainer/",
"@type": "PackageBaseAddress/3.0.0",
"comment": "Base URL of Azure storage where NuGet package registration info for DNX is stored, in the format https://api.nuget.org/v3-flatcontainer/{id-lower}/{version-lower}.{version-lower}.nupkg"
},
- Użyj identyfikatora dostarczonego przez @id jako podstawowego pliku uri do wyświetlenia wersji żądanego pakietu:
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json
, należy pamiętać, że ten plik URI może ulec zmianie i nie jest częścią interfejsu API
- Użyj tego samego bazowego URI, aby pobrać pakiet:
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.6.0.4.nupkg
można też spojrzeć na NuGet client. Kod źródłowy klienta to here; będziesz chciał zacząć od NuGet.CommandLine project i iść swoją drogą w dół stosu.
Szukanie łączy poza miejscem jest oczywiście nie na temat, ale kiedy znajdziesz informacji rozważyć aktualizację wiki tagu (http://stackoverflow.com/tags/nuget/info) –
Jest bardzo prawdopodobne, że Twoją jedyną nadzieją jest kod C#, https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Core/NuGet.Protocol.Core.v3 –
Uprzejma prośba o dokumentację https://github.com/NuGet/Home/issues/4062 –