devscast/pexels

https://pexels.com 的 PHP 客户端

资助包维护!
devscast

1.1.2 2024-09-05 13:40 UTC

This package is auto-updated.

Last update: 2024-09-05 13:44:54 UTC


README

Lint Test Latest Stable Version Total Downloads License

Pexels API 允许以编程方式访问 Pexels 完整的内容库,包括照片、视频。所有内容均免费提供,只要您在使用过程中遵守我们的指南,您都可以自由使用 Pexels 的内容。

指南

每次进行 API 请求时,请务必展示 Pexels 的显眼链接。您可以使用文本链接(例如“由 Pexels 提供的照片”)或带有我们标志的链接。

尽可能对摄影师进行致谢(例如“由 John Doe 在 Pexels 上的照片”,并附上 Pexels 照片页面的链接)。

您不得复制或复制 Pexels 的核心功能(包括将 Pexels 内容作为壁纸应用程序提供)。

不要滥用 API。默认情况下,API 的请求速率限制为每小时 200 请求和每月 20,000 请求。您可以联系我们要求更高的限制,但请提供示例,或者准备好进行演示,以清楚地显示您对 API 的使用情况及归属。

滥用 Pexels API(包括但不限于试图绕过速率限制),将导致您的 API 访问终止。

授权

Pexels API 需要授权。任何拥有 Pexels 账户的人都可以 申请 API 密钥,您将立即收到。

安装

composer require devscast/pexels

用法

通过传递 API 令牌作为参数,创建 Pexels API 客户端实例。

// ...
use Devscast\Pexels\Client;
// ...

$pexels = new Client(token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx');

搜索照片

此端点允许您搜索 Pexels 中的任何主题。例如,您的查询可以是一个广泛的主题,如自然、老虎、人们。或者它可以是更具体的内容,如一组人们在工作。

$photos = $pexels->searchPhotos('Tigers');

// landscape photos only
$photos = $pexels->searchPhotos('Tigers', new SearchParameters(orientation: 'landscape', page: 2))

精选照片

此端点允许您接收 Pexels 团队实时精选的照片。

我们每小时至少添加一张新照片到我们的精选列表,以确保您始终获得不断变化的趋势照片。

$photos = $pexels->curatedPhotos();

// paginated
$photos = $pexels->curatedPhotos(new PaginationParameters(page: 2, per_page: 60));

获取照片

从其 ID 获取特定的照片。

$photo = $pexels->photo(id: 11762029);

搜索视频

此端点允许您搜索 Pexels 中的任何主题。例如,您的查询可以是一个广泛的主题,如自然、老虎、人们。或者它可以是更具体的内容,如一组人们在工作。

$videos = $pexels->searchVideos('Tigers');

// landscape videos only
$videos = $pexels->searchVideos('Tigers', new SearchParameters(orientation: 'landscape', page: 2))

热门视频

此端点允许您接收当前的 Pexels 热门视频。

$videos = $pexels->popularVideos();

// 30 secondes popular videos
$videos =  $pexels->popularVideos(new PopularVideosParameters(min_duration: 30, max_duration: 30));

获取视频

从其 ID 获取特定的视频。

$video = $pexels->video(id: 12593410);

特色收藏

此端点返回 Pexels 上的所有特色收藏。

$collections = $pexels->featuredCollections();

// paginated
$collections = $pexels->featuredCollection(new PaginationParameters(per_page: 80);

我的收藏

此端点返回您的所有收藏。

$collections = $pexels->collections();

收藏媒体

此端点返回单个收藏中的所有媒体(照片和视频)。您可以使用类型参数筛选只接收照片或视频。

$collection = $pexels->collection(id: 'someid');

// videos only
$collection = $pexels->collection(id: 'someid', new CollectionParameters(type: 'Videos'));

分页

大多数 Pexels API 请求一次返回多条记录。所有这些端点都是分页的,一次最多可以返回 80 个请求。每个分页请求接受相同的参数,并在响应中返回相同的分页数据。

注意:只有当存在对应的页面时,才会返回 prev_page 和 next_page 响应属性。

贡献者