ghanem / giphy
一个提供Laravel和Giphy API之间接口的包,包括Gif。
Requires
- php: ^7.3|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
README
一个提供Laravel和Giphy API之间接口的包,包括Gif和贴纸。
安装
您可以通过composer安装此包
composer require ghanem/giphy
现在您需要使用以下命令发布配置文件
php artisan vendor:publish --provider="Ghanem\Giphy\GiphyServiceProvider" --tag="config"
参数
- q - 搜索查询词或短语
- s - 搜索查询词或短语
- limit - (可选)返回的结果数量,最大100。默认25。
- offset - (可选)结果偏移量,默认为0。
- rating - (可选)限制结果为评分结果(y,g, pg, pg-13 或 r)。
- lang - (可选)指定默认国家以获取区域内容;格式为2字母ISO 639-1国家代码。请参阅支持的语言列表 此处
端点
Gifs
搜索
搜索所有Giphy GIF,查找单词或短语。标点将被删除并忽略。在此情况下,$giphys
是一个数组。
方法:Giphy::search($query, $limit = 25, $offset = 0, $rating = null, $lang = null)
$giphys = Giphy::search('cat'); foreach ($giphys->data as $giphy) { // Get id $giphy->id; // Get image original url $giphy->images->original->url; // Get image original mp4 url $giphy->images->original->mp4; //etc }
您可以通过 dd($giphys)
查看所有属性
{#162 ▼ +"data": array:25 [▼ 0 => {#163 ▼ +"type": "gif" +"id": "W80Y9y1XwiL84" +"slug": "gift-W80Y9y1XwiL84" +"url": "http://giphy.com/gifs/gift-W80Y9y1XwiL84" ... } 1 => {#182 ▶} 2 => {#202 ▶} ...
翻译
翻译API基于搜索,但使用Giphy的“特别配方”来处理从一种词汇到另一种词汇的翻译。
方法:Giphy::translate($query, $rating = null, $lang = null)
$giphy= Giphy::translate('cat'); // Get id $giphy->data->id; // Get image original url $giphy->data->images->original->url; // Get image original mp4 url $giphy->data->images->original->mp4; //etc
您可以通过 dd($giphy)
查看所有属性
{#162 ▼ +"data": {#163 ▼ +"type": "gif" +"id": "3oz8xQQP4ahKiyuxHy" ... +"images": {#165 ▼ ... +"original": {#180 ▼ +"url": "http://media3.giphy.com/media/3oz8xQQP4ahKiyuxHy/giphy.gif" +"width": "480" +"height": "352" +"size": "3795005" +"frames": "33" +"mp4": "http://media3.giphy.com/media/3oz8xQQP4ahKiyuxHy/giphy.mp4" +"mp4_size": "132229" +"webp": "http://media3.giphy.com/media/3oz8xQQP4ahKiyuxHy/giphy.webp" +"webp_size": "756840" } ...
趋势
获取当前在线趋势的GIF。在此情况下,$giphys
是一个数组。
方法:Giphy::trending($limit = 25, $rating = null)
$giphys = Giphy::trending(); foreach ($giphys->data as $giphy) { // Get id $giphy->id; // Get image original url $giphy->images->original->url; // Get image original mp4 url $giphy->images->original->mp4; //etc }
您可以通过 dd($giphys)
查看所有属性
{#162 ▼ +"data": array:25 [▼ 0 => {#163 ▼ +"type": "gif" +"id": "l2SqiAELInKQ8rF0Q" +"slug": "2dopequeens-podcast-2-dope-queens-l2SqiAELInKQ8rF0Q" +"url": "http://giphy.com/gifs/2dopequeens-podcast-2-dope-queens-l2SqiAELInKQ8rF0Q" ... } 1 => {#183 ▶} 2 => {#203 ▶} ...
随机
返回一个受标签限制的随机GIF。
方法:Giphy::random($query, $rating = null)
$giphy = Giphy::random('cat'); // Get id $giphy->data->id; // Get image original url $giphy->data->image_original_url; // Get image mp4 url $giphy->data->image_mp4_url; //etc
您可以通过 dd($giphy)
查看所有属性
{#162 ▼ +"data": {#163 ▼ +"type": "gif" +"id": "qbpRDgYI5JoKk" +"url": "http://giphy.com/gifs/cat-qbpRDgYI5JoKk" +"image_original_url": "https://media0.giphy.com/media/qbpRDgYI5JoKk/giphy.gif" ... } +"meta": {#164 ▼ +"status": 200 +"msg": "OK" } }
按ID
通过GIF ID返回有关GIF的元数据。
方法:Giphy::getByID($id)
$giphy= Giphy::getByID('qbpRDgYI5JoKk'); // Get id $giphy->data->id; // Get image original url $giphy->data->images->original->url; // Get image original mp4 url $giphy->data->images->original->mp4; //etc
您可以通过 dd($giphy)
查看所有属性
{#162 ▼ +"data": {#163 ▼ +"type": "gif" +"id": "qbpRDgYI5JoKk" ... +"images": {#164 ▼ ... +"original": {#179 ▼ +"url": "https://media1.giphy.com/media/qbpRDgYI5JoKk/giphy.gif" +"width": "500" ...
按ID
get GIF by ID端点的多版本。在此情况下,$giphys
是一个数组。
方法:Giphy::getByIDs(array $ids)
$giphys = Giphy::getByIDs(['qbpRDgYI5JoKk','FiGiRei2ICzzG']); foreach ($giphys->data as $giphy) { // Get id $giphy->id; // Get image original url $giphy->images->original->url; // Get image original mp4 url $giphy->images->original->mp4; //etc }
您可以通过 dd($giphys)
查看所有属性
{#162 ▼ +"data": array:2 [▼ 0 => {#163 ▼ +"type": "gif" +"id": "qbpRDgYI5JoKk" +"slug": "cat-qbpRDgYI5JoKk" ... } 1 => {#182 ▼ +"type": "gif" +"id": "FiGiRei2ICzzG" +"slug": "funny-cat-FiGiRei2ICzzG" ...
贴纸
贴纸的方法与Giphy类似,所以我会省略 dd()
的示例,但您也可以使用它来查看对象的全部属性。
贴纸搜索
搜索所有贴纸,查找单词或短语。标点将被删除并忽略。在此情况下,$stickers
是一个数组。
方法:Stickers::search($query, $limit = 25, $offset = 0, $rating = null, $lang = null)
$stickers = Stickers::search('dog'); foreach ($stickers->data as $sticker) { // Get id $sticker->id; // Get image original url $sticker->images->original->url; // Get image original mp4 url $sticker->images->original->mp4; //etc }
贴纸翻译
翻译API基于搜索,但使用Stickers的“特别配方”来处理从一种词汇到另一种词汇的翻译。
方法:Stickers::translate($query, $rating = null, $lang = null)
$sticker= Stickers::translate('cat'); // Get id $sticker->data->id; // Get image original url $sticker->data->images->original->url; // Get image original mp4 url $sticker->data->images->original->mp4; //etc
贴纸趋势
获取当前在线趋势的贴纸。在此情况下,$stickers
是一个数组。
方法:Stickers::trending($limit = 25, $rating = null)
$stickers = Stickers::trending(); foreach ($stickers->data as $sticker) { // Get id $sticker->id; // Get image original url $sticker->images->original->url; // Get image original mp4 url $sticker->images->original->mp4; //etc }
贴纸随机
返回一个受标签限制的随机贴纸。
方法:Stickers::random($query, $rating = null)
$sticker = Stickers::random('cat'); // Get id $sticker->data->id; // Get image original url $sticker->data->image_original_url; // Get image mp4 url $sticker->data->image_mp4_url; //etc