web-dev-qa-db-ja.com

NuGet v3 APIのドキュメントはどこにありますか?

NuGet v3APIを中心に非.NET言語でクライアントライブラリを作成することに興味があります。どこで私に教えてくれるドキュメント/リソースを見つけることができますか?リクエストを行うURLと、それが返す応答は何ですか?

グーグルで簡単に検索してみましたが、3年前に最後に更新された this しか見つかりませんでした。スペックはありますか?

13
James Ko

ここ は公式のNuGet V3APIドキュメントです。 APIは、次のような複数のプロトコルで構成されています。

  1. サービスインデックス -クライアントがNuGetサービスを検出するために使用します
  2. 検索サービス -クライアントがNuGetパッケージを検索するために使用します
  3. Registration -パッケージのメタデータを格納するjson-LDベースの構造。これには、パッケージのコンテンツ、依存関係、説明などが含まれます。
  4. "PackageBaseAddress" -実際のパッケージとそのマニフェストファイル(nuspec)を含むストア。

たとえば、パッケージ「Newtonsoft.Json」をダウンロードしたいとします。

  1. サービスインデックスを取得します: `GET https://api.nuget.org/v3/index.json

応答には、PackageBaseAddressのアドレスが含まれています(階層的でフラットではないため、フラットコンテナとして誤って使用されます:)):

{
  "@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"
},
  1. @idによって提供されるURIをベースURIとして使用して、目的のパッケージのバージョンをリストします。GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json、このURIは変更される可能性があり、APIの一部ではないことに注意してください
  2. 同じベースURIを使用してパッケージをダウンロードします:GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.6.0.4.nupkg

NuGetクライアント も確認することをお勧めします。クライアントのソースコードは ここ ; NuGet.CommandLineプロジェクト から始めて、スタックを下っていきます。

18
Yishai Galatzer

最近、公式のV3ドキュメントが公開されました ここ

3