Giphy API 教學|迷因愛好者的 API 首選。

Giphy API tutorial / meme api / Giphy API example /

Molly M
5 min readFeb 7, 2023

✨ 實際應用

LineBot 迷因圖片搜尋|寫了一個酷東東 — Meme Search LineBot

✨ 目錄

🥸 Giphy API
🤩 如何註冊及獲得 Giphy API Key
🥸 Giphy API 的基本使用方式
🤩 回傳的資料
🥸 python 範例
🤩 錯誤訊息 status

✨ Giphy API

Giphy API 是一種提供動態圖像 (GIF) 的 API。它可以讓開發人員搜尋、獲取和使用大量的 GIF 圖像。

Giphy API 提供了以下主要功能:

  • 搜尋:開發人員可以通過關鍵字或表情符號搜尋指定的 GIF 圖像。
  • 取得圖像:可以取得指定的 GIF 圖像的 URL,以便在應用程式或網站上使用。
  • 轉換:可以將靜態圖像轉換為動態圖像。
  • 自訂分類:可以創建自己的 GIF 分類以方便搜尋。
  • 儲存:可以儲存搜尋到的 GIF 圖像。

Giphy API 也提供了其他多種輔助功能,例如可以調整圖像大小、速度等。使用 Giphy API 可以快速且輕鬆地在應用程式或網站上使用大量的 GIF 圖像。(但是 linebot 只能傳 mp4 檔案給用戶,有點小可惜)

✨ 如何註冊及獲得 Giphy API Key

STEP 1:Giphy 官網:https://developers.giphy.com/

STEP 2:點擊「Create account」,然後點擊「Sign Up」。

STEP 3:輸入姓名、電子郵件地址和密碼,然後點擊「Sign Up」。(*驗證信會寄到垃圾郵件中🥸🥸🥸)

STEP 4:在 Dashboard 中點擊「Create an App」。

STEP 5:有 SDK 跟 API,要選擇「API」,輸入應用程式名稱和簡介,然後點擊「Create App」。

STEP 6:複製 API Key。

✨ Giphy API 的基本使用方式

Giphy 提供兩種 API,

  • Gif URL (api.giphy.com/v1/gifs/search)
  • Sticker URL (api.giphy.com/v1/stickers/search)

使用方式

https://api.giphy.com/v1/gifs/trending?api_key="api_key"&limit=5&rating=g
  • trending:表示要找熱門迷因 ( endpoint 還有很多,包括 Search 關鍵字搜尋、Translate、Random 隨機抓出一個、Get By Id、Trending)
  • api_key:自己的 key
  • limit:要幾張

可以直接使用 Giphy API 提供的 UI 介面做測試:https://developers.giphy.com/explorer/

✨ 回傳的資料

JSON,data 為收到的資料,meta 為請求的狀態。

✨回傳的資料 python 範例

用 python 取得前 10 熱門的 GIF 檔

# 熱門前10張
def getTrend():
url = f"https://api.giphy.com/v1/gifs/trending?api_key={api_key}&limit=10"

response = requests.get(url)

if response.status_code == 200:
data = json.loads(response.content.decode("utf-8"))
gifs = data["data"]
for i, gif in enumerate(gifs):
gif_url = gif["images"]["original"]["url"]
gif_response = requests.get(gif_url)
with open(f"gif_{i}.gif", "wb") as f:
f.write(gif_response.content)
print(f"gif_{i}.gif saved")
else:
print("Something went wrong")

✨ 錯誤訊息 status

  • 200,OK,請求成功
  • 400,Bad Request,請求格式不正確或缺少必需的參數
  • 401,Unauthorized,請求缺少目標資源的有效身份驗證憑據,API 密鑰問題。
  • 403,Forbidden,無權限;API 密鑰問題。
  • 404,Not Found,找不到請求的 GIF。例如,如果使用不存在的 ID 請求 GIF,就會發生這種情況。
  • 414,URI Too Long,搜索查詢的長度超過 50 個字符。
  • 429,Too Many Requests,API 密鑰發出的請求過多。

✨小結

最近好喜歡玩這些有趣的 API ( ´•̥ו̥` )

--

--

Molly M

Molly — Software Developer / 職稱是軟體研發工程師。 什麼都寫,專精於前端及APP (ง•̀_•́)ง ! ❤ 合作發案討論疑難雜症請洽: momolly1024@gmail.com