ARCHIVED: Apple has purchased Dark Sky and is shutting down the API, so I'm no longer supporting this.
A .NET Standard Library for using the Dark Sky API.
The main class is DarkSkyService
. When using it you will need provide your API key after signing up for a dev account.
You can also provide an implementations of IHttpClient
and IJsonSerializerService
if you want to replace the default ZipHttpClient
and JsonNetJsonSerializerService
for testing or other purposes.
Once you have an instance of the class, use GetForecast
to use the API. The method by default is a forecast request.
If you specify a value for ForecastDateTime
in an OptionalParameters
instance it will become a time machine request.
The responses all take the form of a CamelCase version of the Dark Sky Response in DarkSkyResponse
.
This includes the headers and properties for the required text and link to use based on the Terms of Service.
var darkSky = new DarkSky.Services.DarkSkyService(apiKey);
var forecast = await darkSky.GetForecast(42.915, -78.741);
if (forecast?.IsSuccessStatus == true)
{
Console.WriteLine(forecast.Response.Currently.Summary);
}
else
{
Console.WriteLine("No current weather data");
}
Console.WriteLine(forecast.AttributionLine);
Console.WriteLine(forecast.DataSource);
You can see more examples of usage in the integration tests.
Code of Conduct and Contributing Guidelines for the project.