【Bubble】PythonからAPI Workflowを呼び出す方法
概要
Pythonなどのプログラムから呼び出すことでBubbleと他のシステムを連携することができます。
リアルタイムでデータベース内を分析し、異常検出などに役立てることもできます。
ハンズオン演習
ハンズオンではプログラミング言語であるPythonからBubbleのバックエンドワークフローを実行する方法を解説します。
今回はシステム開発を行う際の基本の4つの機能であるデータの作成(Create)、読み出し(Read)、更新(Update)、削除(Delete)をPython側から実行します。
1. 環境構築
今回はGoogle が提供している無料の開発環境であるGoogle Colaboratoryを利用します。
使い方は以下の記事をご覧ください。
Google Colab 使い方マニュアル(永久保存版)
2. Bubble側のバックエンドワークフローを設定する
Bubbleの開発画面へ移動し「Backend workflow」タブへ移動します。
そして、4つのAPI workflowを作成します。
- 作成 (Create)
まず「New API Workflow」をクリックして「item_unique_id」「item_name」の二つのパラメータを受け渡しできるようにします。
そしてアクションで指定された名前のItemを作成します。
- Read(読み込み)
同様にread API Workflowを作成し、今回は「Trigger workflow with」をGETとします。
そしてアクションから「Return data form api」を選択し、以下のように設定します。こうすることでデータの読み込みを行うことができます。
- Update(更新)
更新を行うAPI Workflowを以下の画像の方法で作成します。
- Delete(削除)
Delete API workflowも同様に作成します。
3. Python側から呼び出してみよう
あとは設定したバックエンドワークフローをPythonから呼び出すだけで実行することができます。
- Create
アイテムの作成を行いましょう。
以下のコードをGoogle Colabで実行しましょう。
import requests
import json
url = "<https://security-swooo.bubbleapps.io/version-test/api/1.1/wf/create>"
payload = {'item_name': 'sample_item'}
headers = {'Authorization': 'Bearer あなたのAPIキー'}
res_wf = requests.post(url, headers=headers,data=payload)
d = json.loads(res_wf.text)
print(d)
実行した結果以下のようにアイテムが生成されていることを確認することができます。
- Read
読み込みを行うためにはGoogle Colabで以下のコードを実行します。
import requests
import json
url = "<https://security-swooo.bubbleapps.io/version-test/api/1.1/wf/read>"
headers = {'Authorization': 'Bearer あなたのAPIキー'}
res_wf = requests.get(url, headers=headers)
d = json.loads(res_wf.text)
print(d)
- Update
更新を行うためには以下のコードを実行します。
import requests
import json
url = "<https://security-swooo.bubbleapps.io/version-test/api/1.1/wf/update>"
payload = {'unique_id': '1676449190419x344258700093031960','new_name':'update_item'}
headers = {'Authorization': 'Bearer あなたのAPIキー'}
res_wf = requests.post(url, headers=headers,data=payload)
d = json.loads(res_wf.text)
print(d)
そうすると以下のようにアイテムのnameが更新されていることを確認できます。
- Delete
アイテムを削除するためには、以下のコードを実行します。
import requests
import json
url = "<https://security-swooo.bubbleapps.io/version-test/api/1.1/wf/delete>"
payload = {'unique_id': '1676449190419x344258700093031960'}
headers = {'Authorization': 'Bearer あなたのAPIキー'}
res_wf = requests.post(url, headers=headers,data=payload)
d = json.loads(res_wf.text)
print(d)
そうすると以下の写真のようにアイテムが削除されていることを確認できます。
Python+Bubbleの連携は以上となります。