Skip to main content
net10.0net8.0

SynologyCalendarClient is a library to handle Synology calendar API requests.

Published
Aug 18, 2026
2mo ago
Total Downloads
389
389

Install

dotnet add package HaemmerElectronics.SeppPenner.SynologyCalendarClient --version 1.0.2
ProductVersions
.NET
net10.0net8.0

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.

Build status GitHub issues GitHub forks GitHub stars License: MIT Nuget NuGet Downloads Known Vulnerabilities Blogger Patreon PayPal

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

Change history

See the Changelog.

Changes from Previous Version

v1.0.1v1.0.2
Added Frameworks
net10.0
Removed Frameworks
net6.0
Added Dependencies
Serilog(net10.0)
Removed Dependencies
Serilog(net6.0)

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.