Julmar.MSLearnCatalogAPI
2.5.0
dotnet add package Julmar.MSLearnCatalogAPI --version 2.5.0
NuGet\Install-Package Julmar.MSLearnCatalogAPI -Version 2.5.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Julmar.MSLearnCatalogAPI" Version="2.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Julmar.MSLearnCatalogAPI --version 2.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Julmar.MSLearnCatalogAPI, 2.5.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Julmar.MSLearnCatalogAPI as a Cake Addin #addin nuget:?package=Julmar.MSLearnCatalogAPI&version=2.5.0 // Install Julmar.MSLearnCatalogAPI as a Cake Tool #tool nuget:?package=Julmar.MSLearnCatalogAPI&version=2.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MS Learn Catalog API
This library wraps the MS Learn Catalog API. It provides a simple .NET wrapper to retrieve the published modules, paths, products, levels, and roles from the live system.
Note+: the API only returns public modules that the browse experience on Microsoft Learn shows.
Usage
A single static method returns all five elements together:
using MSLearnCatalogAPI;
LearnCatalog learnCatalog = await CatalogApi.GetCatalogAsync(null);
foreach (var module in learnCatalog.Modules.Where(m => m.Title.StartsWith("Intro"))
{
Console.WriteLine($"{module.Uid} - {module.Title}")
}
Here's the LearnCatalog
type:
public class LearnCatalog
{
public List<Module> Modules { get; set; }
public List<LearningPath> LearningPaths { get; set; }
public List<Level> Levels { get; set; }
public List<Role> Roles { get; set; }
public List<Product> Products { get; set; }
}
Types
public class Module
{
public string Summary { get; set; }
public List<string> Levels { get; set; }
public List<string> Roles { get; set; }
public List<string> Products { get; set; }
public string Uid { get; set; }
public string Title { get; set; }
public int Duration { get; set; }
public string IconUrl { get; set; }
public string SocialImageUrl { get; set; }
public string Locale { get; set; }
public DateTime LastModified { get; set; }
public string Url { get; set; }
public int NumberOfUnits { get; set; }
public List<string> Units { get; set; }
}
public class LearningPath : SharedModel
{
public string Summary { get; set; }
public List<string> Levels { get; set; }
public List<string> Roles { get; set; }
public List<string> Products { get; set; }
public string Uid { get; set; }
public string Title { get; set; }
public int Duration { get; set; }
public string IconUrl { get; set; }
public string SocialImageUrl { get; set; }
public string Locale { get; set; }
public DateTime LastModified { get; set; }
public string Url { get; set; }
public List<string> Modules { get; set; }
public int NumberOfModules { get; set; }
}
public class Level
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Role
{
public string Id { get; set; }
public string Name { get; set; }
}
public class TaxonomyIdName
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Product : TaxonomyIdName
{
public List<TaxonomyIdName> Children { get; set; }
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
2.5 update to .NET8