SynologyCalendarClient is a library to handle Synology calendar API requests.
Total Downloads
389
389
Published
Aug 18, 2026
2mo ago
Get Started
dotnet add package HaemmerElectronics.SeppPenner.SynologyCalendarClient --version 1.0.2
| Product | Versions |
|---|---|
| .NET |
README
SynologyCalendarClient
SynologyCalendarClient is a project to handle Synology calendar API requests. However, as the Synology calendar API description is very bad, it is not yet finished.
Available for
- Net 8.0
- Net 10.0
Net Core and Net Framework latest and LTS versions
Basic usage
// The type name repeats the namespace, so an alias keeps the code readable.
using SynologyClient = SynologyCalendarClient.Client.SynologyCalendarClient;
/// <summary>
/// The main method of the program.
/// </summary>
public static async Task Main()
{
// Create the logger.
var logger = LoggerConfig.GetLoggerConfiguration(nameof(Program))
.WriteTo.Sink((ILogEventSink)Log.Logger)
.CreateLogger();
// Create the Synology calendar client.
var synologyCalendarClient = new SynologyClient("https://example.com/calendars", logger);
// Login.
var loginResult = await synologyCalendarClient.Login(
3,
"username",
"password",
enableSynoToken: true,
format: LoginFormat.Sid);
// If the login failed, jump out.
if (loginResult is null || !loginResult.Success)
{
logger.Error("The Synology login failed");
return;
}
// Get all calendars.
var calendarsResult = await synologyCalendarClient.GetAllCalendars(
1,
true,
false);
// If the login failed, jump out.
if (calendarsResult is null || !calendarsResult.Success)
{
logger.Error("Loading calendars failed");
return;
}
}
Issues
- Creating a event still fails: https://stackoverflow.com/questions/77349742/how-to-use-the-synology-calendar-api-to-create-events-in-c
- Tested methods: Login, Logout, GetApiInformation, GetAllCalendars, GetCalendarById, CreateEvent, GetAllEvents, SetEventData, CreateEvent.
- Missing deserialization tests for Events and Tasks.
- The API description is pretty bad, so I decided to use CalDav. Checkout https://github.com/SeppPenner/CalDAVNet and https://github.com/SeppPenner/CalDavSynologySyncer for examples.
Change history
See the Changelog.
Downloads by Version
Similar & Alternative Packages
Hand-picked matching NuGet libraries based on tags & ecosystem
Depended On By
Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.