0 purchases
unsplash client
Unsplash provides free high-resolution photos. This is a client for
their REST API.
If you're looking for a database solution, check out
cbl, another project of mine. It brings
Couchbase Lite to standalone Dart and Flutter, with support for:
Full-Text Search,
Expressive Queries,
Data Sync,
Change Notifications
and more.
Limitations #
Endpoints that act on behalf of a user are not implemented, yet.If that is
something you need, please comment on
this issue.
Requirements #
You need to register as a developer and create an
Unsplash app to access the API.
Getting started #
Create an UnsplashClient #
Use the credentials for your app, obtained from the developer portal, to create
an UnsplashClient:
final client = UnsplashClient(
settings: ClientSettings(credentials: AppCredentials(
accessKey: '...',
secretKey: '...',
)),
);
copied to clipboard
⚠️ When you are done using a client instance, make sure to call it's
close method.
Get a random photo #
// Call `goAndGet` to execute the [Request] returned from `random`
// and throw an exception if the [Response] is not ok.
final photos = await client.photos.random(count: 1).goAndGet();
// The api returns a `Photo` which contains metadata about the photo and urls to download it.
final photo = photos.first;
copied to clipboard
Photo variants #
A Photo comes with a set of urls for variants of the photo of different sizes,
such as regular and thumb:
final thumb = photo.urls.thumb;
copied to clipboard
If the provided variants are not a good fit for your use, you can generate urls
where you specify size, quality, fit and other parameters.
Call the extension method Uri.resizePhoto on photo.urls.raw to generate an
Uri for a custom variant:
final custom = photo.urls.raw.resizePhoto(width: 400, height: 400);
copied to clipboard
Example #
The example is a simple CLI
app that fetches a few random photos.
Gabriel Terwesten • GitHub
@blaugold • Twitter
@GTerwesten • Medium
@gabriel.terwesten
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.