Download the PHP package arcasolutions/unsplash without Composer
On this page you can find all versions of the php package arcasolutions/unsplash. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download arcasolutions/unsplash
More information about arcasolutions/unsplash
Files in arcasolutions/unsplash
Package unsplash
Short Description Wrapper to access the Unsplash API and photo library by Arca Solutions
License MIT
Informations about the package unsplash
PHP Unsplash Wrapper
A PHP client for the Unsplash API.
Quick links to methods you're likely to care about:
- Get a list of new photos 🎉
- Get a random photo 🎑
- Trigger a photo download 📡
- Search for a photo by keyword 🕵️♂️
Note: Every application must abide by the API Guidelines. Specifically, remember to hotlink images and trigger a download when appropriate.
Installation
unsplash-php
uses Composer. To use it, require the library
Usage
Configuration
Before using, configure the client with your application ID and secret. If you don't have an application ID and secret, follow the steps from the Unsplash API to register your application.
Note that if you're just using actions that require the public permission scope, only the applicationId
is required.
Note that if utmSource is omitted from $credentials a notice will be raised
Authorization workflow
To access actions that are non-public (i.e. uploading a photo to a specific account), you'll need a user's permission to access their data.
An example of this flow can be found in /examples/oauth-flow.php
Direct them to an authorization URL (configuring any scopes before generating the authorization URL):
Upon authorization, Unsplash will return to you an authentication code via your OAuth callback handler. Use it to generate an access token:
With the token you can now access any additional non-public actions available for the authorized user.
Permission Scopes
The current permission scopes defined by the Unsplash API are:
public
(Access a user's public data)read_user
(Access a user's private data)write_user
(Edit and create user data)read_photos
(Access private information from a user's photos)write_photos
(Post and edit photos for a user)write_likes
(Like a photo for a user)
API methods
For more information about the the responses for each call, refer to the official documentation.
Some parameters are identical across all methods:
param | Description |
---|---|
$filters |
Filters used by the API |
$returnArrayObject |
Defines if method should return ArrayObject. Default true |
Note: The methods that return multiple objects return an ArrayObject
, which acts like a normal stdClass.
If $returnArrayObject
is set to false
they return PageResult
which contains array of results, total number of elements, page and total number of pages.
There are three exceptions: Search::collections
, Search::photos
and Search::users
always returns PageResult
.
Search
Crew\Unsplash\Search::photos($filters)
Retrieve a single page of photo results depending on search results.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\Search::collections($filters)
Retrieve a single page of collection results depending on search results.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\Search::users($search, $page, $per_page)
Retrieve a single page of user results depending on search results.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Curated Collection
Crew\Unsplash\CuratedCollection::all($filters, $returnArrayObject)
Retrieve the list of curated collections.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\CuratedCollection::find($id)
Retrieve a specific curated collection.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$id |
int | Required |
Example
Crew\Unsplash\CuratedCollection::photos($returnArrayObject)
Retrieve photos from a curated collection.
Note: You need to instantiate a curated collection object first.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Collection
Crew\Unsplash\Collection::all($filters, $returnArrayObject)
Retrieve the list of collections.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Collection::featured($filters, $returnArrayObject)
Retrieve list of featured collections.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Collection::related($returnArrayObject)
Retrieve list of featured collections.
Note You must instantiate a collection first
Arguments
Argument | Type | Opt/Required |
---|---|---|
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Collection::find($id)
Retrieve a specific collection.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$id |
int | Required |
Example
Crew\Unsplash\Collection::photos($filters, $returnArrayObject)
Retrieve photos from a collection.
Note: You need to instantiate a collection object first.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Collection::create($title, $description, $private)
Create a collection on the user's behalf.
Note: You need the write_collections
permission scope
Arguments
Argument | Type | Opt/Required |
---|---|---|
$title |
string | Required |
$description |
string | Opt (Default: '') |
$private |
boolean | Opt (Default: false) |
Example
Crew\Unsplash\Collection::update($parameters)
Update a collection on the user's behalf.
Note: You need to instantiate a collection object first
Note: You need the write_collections
permission scope
Arguments
Argument | Type | Opt/Required | Note |
---|---|---|---|
$parameters |
array | Required | The following keys can be set in the array : title , description , private |
Example
Crew\Unsplash\Collection::destroy()
Delete a collection on the user's behalf.
Note: You need to instantiate a collection object first
Note: You need the write_collections
permission scope
Example
Crew\Unsplash\Collection::add($photo_id)
Add a photo in the collection on the user's behalf.
Note: You need to instantiate a collection object first
Note: You need the write_collections
permission scope
Arguments
Argument | Type | Opt/Required |
---|---|---|
$photo_id |
integer | Required |
Example
Crew\Unsplash\Collection::remove($photo_id)
Remove a photo from the collection on the user's behalf.
Note: You need to instantiate a collection object first
Note: You need the write_collections
permission scope
Arguments
Argument | Type | Opt/Required |
---|---|---|
$photo_id |
integer | Required |
Example
Photo
Crew\Unsplash\Photo::all($filters, $returnArrayObject)
Retrieve a list of photos.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Photo::curated($filters, $returnArrayObject)
Retrieve a list of curated photos.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
$returnArrayObject |
bool | Opt (Default: true) |
Example
Example for returning PageResult instead of ArrayObject
Crew\Unsplash\Photo::find($id)
Retrieve a specific photo.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$id |
int | Required |
Example
Crew\Unsplash\Photo::create($file_path)
Post a photo on the user's behalf.
Note: You need the write_photos
permission scope
Arguments
Argument | Type | Opt/Required |
---|---|---|
$file_path |
string | Required |
Example
Crew\Unsplash\Photo::update($parameters = [])
Post a photo on the user's behalf.
Note: You need the write_photos
permission scope
You need to instantiate the Photo object first
Arguments
Argument | Type | Opt/Required |
---|---|---|
$parameters |
array | Required |
Example
Crew\Unsplash\Photo::photographer()
Retrieve the photo's photographer.
Note: You need to instantiate a photo object first
Arguments
N/A
Example
Crew\Unsplash\Photo::random($filters)
Retrieve a random photo from specified filters. For more information regarding filtering, refer to the Offical documentation.
Note: An array needs to be passed as a parameter.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\Photo::like()
Like a photo on the user's behalf.
Note: You need to instantiate a photo object first
Note: You need the like_photos
permission scope
Arguments
N/A
Example
Crew\Unsplash\Photo::unlike()
Unlike a photo on the user's behalf.
Note: You need to instantiate a photo object first
Note: You need the like_photos
permission scope
Arguments
N/A
Example
Crew\Unsplash\Photo::statistics(string $resolution, int $quantity)
Retrieve total number of downloads, views and likes of a single photo, as well as the historical breakdown of these stats in a specific timeframe (default is 30 days).
Note: You must instantiate a Photo object first
Arguments
Argument | Type | Opt/Required |
---|---|---|
resolution | string | Opt (Accepts only days currently) |
quantity | int | Opt (Defaults to 30, can be between 1 and 30) |
Example
Crew\Unsplash\Photo::download()
Trigger a download for a photo. This is needed to follow the 'trigger a download' API Guideline.
Note: You must instantiate a Photo object first
Arguments
Argument | Type | Opt/Required |
---|
Example
User
Crew\Unsplash\User::find($username)
Retrieve a user's information.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$username |
string | Required |
Example
Crew\Unsplash\User::portfolio($username)
Retrieve a link to the user's portfolio page.
Arguments
Argument | Type | Opt/Required |
---|---|---|
$username |
string | Required |
Example
Crew\Unsplash\User::current()
Retrieve the user's private information.
Note: You need the read_user permission scope
Arguments
N/A
Example
Crew\Unsplash\User::photos($filters)
Retrieve user's photos.
Note: You need to instantiate a user object first
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\User::collections($filters)
Retrieve user's collections.
Note: You need to instantiate a user object first Note: You need the read_collections permission scope to retrieve user's private collections
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\User::likes($filters)
Retrieve user's collections.
Note: You need to instantiate a user object first
Arguments
Argument | Type | Opt/Required |
---|---|---|
$filters |
array | Required |
Example
Crew\Unsplash\User::update([$key => value])
Update current user's fields. Multiple fields can be passed in the array.
Note: You need to instantiate a user object first
Note: You need the write_user permission scope.
Arguments
Argument | Type | Opt/Required | Note |
---|---|---|---|
$key |
string | Required | The following keys are accepted: username , first_name , last_name , email , url , location , bio , instagram_username |
$value |
mixed | required |
Crew\Unsplash\User::statistics(string $resolution, int $quantity)
Retrieve total number of downloads, views and likes for a user, as well as the historical breakdown of these stats in a specific timeframe (default is 30 days).
Note: You must instantiate the User object first
Arguments
Argument | Type | Opt/Required |
---|---|---|
resolution | string | Opt (Accepts only days currently) |
quantity | int | Opt (Defaults to 30, can be between 1 and 30) |
Example
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/arcasolutions/unsplash-php. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
All versions of unsplash with dependencies
guzzlehttp/guzzle Version ^6.3.0
league/oauth2-client Version >=1.4.2
hughbertd/oauth2-unsplash Version >=1.0.3