Skip to content
YU SHAO-HUNG (游紹宏) edited this page Jul 20, 2023 · 1 revision

Bevy API 使用指南

Google Developers Platform 使用 Bevy 所提供的社群管理平台打造,因此我們可以透過原生系統提供的API輕易獲取活動資訊。

不過,受限於我們的身份 (GDG / GDSC)。 基本上可以使用的只有「讀取活動」的API權限,其餘都會被拒絕存取。

以下, 就我們可以存取到的API做整理,可以發揮創意將API串接到任何地方!

API 概要

  對外網址 API網址
GDG https://gdg.community.dev https://gdg.community.dev/api
GDSC https://gdsc.community.dev https://gdsc.community.dev/api

如何獲取 chapter id?

法1: 登入 GDG / GDSC 後台

你可以從後台的網址上找到 chapter id,如下所示:
[https://gdg.community.dev/accounts/dashboard/#/chapter-<chapter_id>/analytics/overview]
OR [https://gdsc.community.dev/accounts/dashboard/#/chapter-<chapter_id>/analytics/overview]

API Format Description Requires login
/api/chapter_region GET This endpoint returns the chapter regions available for use in other API calls. No
/api/chapter/<chapter_id> GET Retrieves the details of a specific chapter. Yes
/api/chapter/<chapter_id>/team GET Retrieves a list of team member records for the given chapter. Yes
/api/chapter/<chapter_id>/member GET Retrieves a list of member records for the given chapter. Yes
/api/chapter/<chapter_id>/event GET Retrieves a list of event records for the given chapter. No
/api/event/ GET Retrieves a list of events. No
/api/event/<event_id> GET Retrieves a specific event. No
/api/event_type GET Retrieves a list of available event types. No
/api/event/tag GET Retrieves a list of available event tags. No
/api/search/event GET Retrieves a list of event records matching given parameters. No
/api/search/chapter GET Retrieves a list of chapter records matching the given parameters. No

Bevy API Usage Guide

資料結構

章節 (Chapter)

欄位 描述
chapter_location 章節所在城市、省/州、國家
city 章節所在城市
country 章節所在國家的兩個字母縮寫
country_name 章節所在國家的完整名稱
description 章節的描述
id 章節在 Bevy 中的唯一 ID
chapter_team 章節團隊成員的列表
state 章節所在省/州
timezone 章節的時間區
title 章節的名稱
url 章節的網站 URL

事件 (Event)

欄位 描述
id 事件的唯一 ID
title 事件的標題
status 事件的狀態,可以是以下其中之一:
Draft 草稿事件
Published 已上線或已完成的事件
Canceled 已取消的事件
url 事件的頁面 URL。這是事件上線後的公共頁面。
description_short 事件的簡短描述
start_date 事件的開始日期/時間
end_date 事件的結束日期/時間
event_type_id 關聯的事件類型 ID
picture 事件的封面圖片,格式如下:
{ "url": "https://example.com/raw/event.jpg", "thumbnail_width": 400, "thumbnail_height": 400, "thumbnail_url": "https://example.com/thumb/event.jpg" }
venue_name 事件的會場名稱
venue_address 事件的會場地址
venue_city 事件的會場城市
venue_zip_code 事件的會場郵編
created_ts 事件記錄最初創建的日期/時間
updated_ts 事件記錄最近更新的日期/時間
key_persons 關聯的關鍵人物列表,格式如下:
[ { "person_id": 123, "role": "Speaker" }, ... ]

建議使用的 API

  • /api/chapter/<chapter_id>/event

一般而言,使用 /api/chapter/<chapter_id>/event 這個 API 端點即可滿足各種獲取活動資料的需求。

查詢語法說明

路徑參數

chapter_id*

  • ID 代表你要列出事件的章節。
  • 可以參考 「獲取你的<chapter_id>」 小節。

查詢語法

start_date

  • string
  • 過濾列表,只包括指定日期之後的事件。必須與 end_date 一起使用。
  • 格式:YYYY-MM-DD

end_date

  • string
  • 過濾列表,只包括指定日期之後的事件。必須與 start_date 一起使用。
  • 格式:YYYY-MM-DD

order_by

  • string
  • 按指定值排序結果。id、title、start_date、end_date。用 "-" 前綴表示降序。

fields

  • array
  • 指定要為每個事件返回的字段。可以使用事件詳細信息端點中列出的任何字段。
  • 字段用逗號分隔。
  • id,title,status,url,description_short,start_date,end_date,event_type,event_type_title,picture,venue_name,venue_address,venue_city,venue_zip_code,created_ts,updated_ts,key_persons,

status

  • string
  • 根據指定狀態過濾事件列表。
  • Draft、Pending、Published、Live、Canceled。

event_type_id

  • integer
  • 只包括指定事件類型 ID