Skip to content

waynehoover/unsplash-elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unsplash Build Status Hex pm Codacy Badge

Unsplash API wrapper in Elixir.

Exmaple Usage

  • Unsplash.Photos.search(query: "Austin", catgeroy: "2") |> Enum.take(1)
  • Unsplash.Collections.all |> Enum.take(1)
  • All API endpoints are supported. See the 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).

Configuration

See the secrets.exs file on what configuration variables need to be configured.

Authorization

Get an auth code by directing a 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 read_collections write_collections"

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

  1. Add unsplash to your list of dependencies in mix.exs:
    def deps do
      [{:unsplash, "~> 1.1.0"}]
    end
  1. Ensure unsplash is started before your application:
    def application do
      [applications: [:unsplash]]
    end

About

Unsplash API client for Elixir

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages