Expand description
The pexels
crate provides API wrapper for Pexels. It based on Pexels API Documentation.
To get the API key, you have request the access from Request API Access – Pexels.
This library are depends on serde-json crate to handle the result, thus you have to read the documentation serde_json - Rust, especially serde_json::Value - Rust.
§Setup
Add this line to your Cargo.toml
file, below [dependencies]
pexels = "*"
and this to your crate root file e.g main.rs
:
extern crate pexels;
Done! Now you can use this API wrapper.
§Example
This example shows how to get the list of mountains photos.
extern crate pexels;
fn main() {
let pexels_api_client = pexels::Pexels::new("YOUR_API_KEY".to_owned());
pexels_api_client.photo_search("mountains".to_string(), 15, 1);
}
and you can run it using cargo run
! Simply as that.
§Random photo
If you want to get a random photo, you can use the curated_photo
function and set per_page to 1 and page to a random number between 1 and 1000 to get a beautiful random photo. You can do the same with popular searches if you want to get a random photo with a specific topic.
§Image formats
- original - The size of the original image is given with the attributes width and height. *large - This image has a maximum width of 940px and a maximum height of 650px. It has the aspect ratio of the original image.
- large2x - This image has a maximum width of 1880px and a maximum height of 1300px. It has the aspect ratio of the original image.
- medium - This image has a height of 350px and a flexible width. It has the aspect ratio of the original image.
- small - This image has a height of 130px and a flexible width. It has the aspect ratio of the original image.
- portrait This image has a width of 800px and a height of 1200px.
- landscape - This image has a width of 1200px and height of 627px.
- tiny - This image has a width of 280px and height of 200px.
Modules§
- Photo related API’s implementation
- Video related API’s implementation