Todoist.Net 8.0.0

dotnet add package Todoist.Net --version 8.0.0                
NuGet\Install-Package Todoist.Net -Version 8.0.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的版本 Install-Package.
<PackageReference Include="Todoist.Net" Version="8.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节复制到项目文件中以引用包。
paket add Todoist.Net --version 8.0.0                
#r "nuget: Todoist.Net, 8.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中以便引用包。
// Install Todoist.Net as a Cake Addin
#addin nuget:?package=Todoist.Net&version=8.0.0

// Install Todoist.Net as a Cake Tool
#tool nuget:?package=Todoist.Net&version=8.0.0                

Todoist.Net

Build status Quality Gate NuGet

用于 .NET 的 Todoist 同步 API 客户端。

安装

此库作为 Nuget 包 提供。

Install-Package Todoist.Net

开始使用

创建 Todoist 客户端

ITodoistClient client = new TodoistClient("API token");

快速添加

实现了官方客户端中可用的快速添加任务。

var quickAddItem = new QuickAddItem("Task title @Label1 #Project1 +ExampleUser");
var task = await client.Items.QuickAddAsync(quickAddItem);

简单的 API 调用

// Get all resources (labels, projects, tasks, notes etc.).
var resources = await client.GetResourcesAsync();

// Get only projects and labels.
var projectsAndLabels = await client.GetResourcesAsync(ResourceType.Projects, ResourceType.Labels);

// Get only projects.
var projectsOnly = await client.GetResourcesAsync(ResourceType.Projects);

// Alternatively you can use this API to get projects.
var projects = await client.Projects.GetAsync();

// Add a task with a note.
var taskId = await client.Items.AddAsync(new Item("New task"));
await client.Notes.AddToItemAsync(new Note("Task description"), taskId);

事务(批量处理)

批处理:在单个 HTTP 请求中可完成多个资源的读取和写入。

在单个请求中添加新的项目、任务和备注。

// Create a new transaction.
var transaction = client.CreateTransaction();

// These requests are queued and will be executed later.
var projectId = await transaction.Project.AddAsync(new Project("New project"));
var taskId = await transaction.Items.AddAsync(new Item("New task", projectId));
await transaction.Notes.AddToItemAsync(new Note("Task description"), taskId);

// Execute all the requests in the transaction in a single HTTP request.
await transaction.CommitAsync();

在更新实体时发送 null 值。

在更新实体时,Todoist API 仅更新请求体中包含的属性,使用 PATCH 请求样式。这就是为什么默认情况下不包括所有带有 null 值的属性,以允许在不首先获取实体的情况下更新,因为包括 null 属性将把它们更新为 null

然而,如果您想故意向API发送一个 null 值,您需要使用 Unset 扩展方法,例如

// This code removes a task's due date.
var task = new UpdateItem("TASK_ID");
task.Unset(t => t.DueDate);

await client.Items.UpdateAsync(task);
产品 兼容和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET 框架 net461 已计算。 net462 兼容。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard

NuGet 包

此包未被任何NuGet包使用。

GitHub 仓库

此包未被任何流行的GitHub仓库使用。