Substantive.ConnectServices.LinkedInLearning 9.1.0-build20251202r1
ConnectServices.LinkedInLearning is a library for connecting to LinkedIn learning API.
Installation
1. Add configuration to the appsettings.json
Add below configuration.
"LinkedInLearningOptions": {
"MaxQueryCount": 100,
"ApiBaseAddress": "https://api.linkedin.com",
"LinkedInCredentials": {
"ClientId": "client-id",
"ClientSecret": "client-secret",
"AuthenticationApiEndpoint": "https://www.linkedin.com/oauth/v2/accessToken"
}
}
2. Load configuration and add dependencies to the program.cs
LinkedInLearningOptions linkedInLearningOptions = new();
builder.Configuration.GetSection(nameof(LinkedInLearningOptions)).Bind(linkedInLearningOptions);
builder.Services.AddLinkedInLearning(linkedInLearningOptions.ToAction());
Usage
private readonly ILinkedInLearningApi linkedInLearningApi;
SomeClass(ILinkedInLearningApi linkedInLearningApi)
{
this.linkedInLearningApi = linkedInLearningApi;
}
async Task SomeMethod()
{
var dateTime = DateTime.Today.AddDay(-1);
var result = await linkedInLearningApi.GetLearnerActivitiesAsync(dateTime);
...
...
}
FAQs and Troubleshoots
Can we get the data on the course that is not owned by the UN?
Yes.
Is there a security mechanism that we have to consider?
Yes, LinkedIn API have a rate limiting (throttle control).
Is it possible to get data of a specific course on a specific user?
No, API returns all courses data we have to filter out later.
How does LinkedIn Learning API manage tenants? e.g. I linked my personal account with the UN account. Can API access the course that I took with my personal account?
The API allows only to get data from UN account only. For a linked account, users have to login with UN account.
Technical Notes
- Seems Learning API will update data daily, if we need to test some scenarios, we have to take some activities and wait to see report in the next day, Does Learning API has test environment that we can test and see the report immediately?
- How to integrate personal account with UN email to access content from UN ?
- Do we need to create a new account via UN email instead to separate personal and enterprise account?
- API found only one person record
References
Showing the top 20 packages that depend on Substantive.ConnectServices.LinkedInLearning.
| Packages | Downloads |
|---|---|
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
4 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
6 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
7 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
8 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
9 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
11 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
14 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
16 |
|
Substantive.Metapackage.Backends
A metapackage contains all Substantive backend building blocks.
|
4 |
.NET 10.0
- Substantive.ComponentModel (>= 9.1.0-build20251202R1)
- Substantive.Extensions.Http (>= 9.1.0-build20251202R1)
- Substantive.Polycloud.BlobStorage (>= 9.1.0-build20251202R1)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.0)