unsplash_client 2.1.0+1 copy "unsplash_client: ^2.1.0+1" to clipboard
unsplash_client: ^2.1.0+1 copied to clipboard

outdated

Unsplash provides free high-resolution photos. This is a client for their REST API.

pub.dev package page GitHub Actions CI GitHub Stars

Unsplash provides free high-resolution photos. This is a client for their REST API.

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: '...',
  )),
);

⚠️ 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;

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;

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);

Example #

The example is a simple CLI app that fetches a few random photos.


Gabriel TerwestenGitHub @blaugoldTwitter @GTerwestenMedium @gabriel.terwesten

63
likes
0
pub points
93%
popularity

Publisher

verified publishergabriel.terwesten.net

Unsplash provides free high-resolution photos. This is a client for their REST API.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

collection, http, logging, meta

More

Packages that depend on unsplash_client