A .NET Core library for accessing the Das Keyboard Q REST API.
WARNING: This is a work-in-progress, and the Das Keyboard team is still making changes to the Q REST API. Use at your own risk.
var client = new Client
{
AuthenticationMode = AuthenticationMode.Password,
Credentials = new NetworkCredential("user@example.com", "Passw0rd!"),
};
var client = new Client
{
AuthenticationMode = AuthenticationMode.ClientCredentials,
Credentials = new NetworkCredential(
"FQg6sYYcTyWTk2YK3qlBWy8k", // client_id
"5ulXkuK84cILsQMsIJl2usyK"), // client_secret
};
var client = new Client
{
AuthenticationMode = AuthenticationMode.RefreshToken,
Credentials = new NetworkCredential(
"FQg6sYYcTyWTk2YK3qlBWy8k", // client_id
"e45aab00c7b5f68761147d9b6118d4e6"), // refresh_token
};
var client = new Client
{
AuthenticationMode = AuthenticationMode.None,
ApiEndPoint = Client.LocalEndPoint,
};
foreach(var device in await client.GetDevices())
{
Console.WriteLine($"PID: {device.Pid}, Description: {device.Description}");
}
var signal = new Signal
{
Name = "Apple Stock increase",
Pid = "DK5QPID",
ZoneId = "KEY_A",
Color = "#008000",
};
await client.CreateSignal(signal); // This also updates the signal object.
Console.WriteLine($"ID: {signal.Id}, Name: {signal.Name}");
signal.IsRead = true;
await client.UpdateSignal(signal);
Console.WriteLine($"ID: {signal.Id}, Read: {signal.IsRead}");
await client.DeleteSignal(signal);
// or delete by Id
await client.DeleteSignal(469359);
foreach(var appName in await client.GetAuthorizedClients())
{
Console.WriteLine(appName);
}
await client.RevokeAuthorizedClient("IFTTT");