Unsplash

Unsplash API wrapper in Elixir.
Exmaple Usage
Unsplash.photos(:search, query: "Austin", catgeroy: "2") |> Enum.take(1)
Unsplash.categories |> Enum.take(1)
- And more. All API endpoints are supported. See documentation for full list.
Each API call that is paginated returns a stream. You can resolve the stream by calling any Enum function, this way you don’t have to think about pagination. For example to get one random photo: Unsplash.photos(:random) |> Enum.take(1)
or to get 100 random photos Unsplash.photos(:random) |> Enum.take(100)
.
Authorization
Get Auth code by directing user to the url generated by this command (replace the scope with what you would like):
Unsplash.OAuth.authorize_url! scope: "public read_user write_user read_photos write_photos write_likes"
After the user grants access, she will be redirected back to your redirect_uri whith a code
query paramater, which you then set like this:
Unsplash.OAuth.authorize!(code: auth_code_from_the_callback)
Now every API call will use the access_code gerenated in the above step automatically.
Installation
Add unsplash to your list of dependencies in
mix.exs
:def deps do [{:unsplash, "~> 0.0.1"}] end
Ensure unsplash is started before your application:
def application do [applications: [:unsplash]] end
Todo
- Complete test coverage
- Handle errors