unsplash_client

Creator: coderz1093

Last updated:

0 purchases

unsplash_client Image
unsplash_client Images

Languages

Categories

Add to Cart

Description:

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

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.