『入門プリザンター』の『9.5 API』にあるAPIの呼び出しサンプルは、 PowerShell で書かれています。 個人的に PowerShell は使い慣れていないので、ここは、 Python で試してみました
- Pleasanter 1.4.13.0
- Python 3.13.1
レコードの取得
『9.5.2 外部システムからデータを取得する』のサンプルの場合、『複数レコード取得』API を使っています。
開発者向け機能:API:テーブル操作:複数レコード取得 | Pleasanter
(似たようなのに、『単一レコード取得』 API もありますが、こちらではないのでご注意ください。)
で、このサンプルだと、説明がないのでわかりにくいのですが、『複数レコード取得』 API 利用時にフィルタ条件を指定して 1 件のレコードを取得しています。 フィルタ条件の指定方法は、こちらの
開発者向け機能:JSONデータレイアウト:View | Pleasanter
を見ると載っています。
ということで、サンプルと同じ動作をするようなコードを書くとこんな感じになります。
records_get_w_filter.py
import requests """ 『入門プリザンター』『9.5.2 外部システムからデータを取得する』の Python 版 呼び出しているAPI は下記のものが該当 https://pleasanter.org/ja/manual/api-record-get-multi """ PLEASANTER_API_KEY = "APIキー" HOST_URL = "http://ホスト名:50001" URL_PATH = "/api/items/" PATH_PIECE = "/get" # テーブルのサイトID site_id = "サイトID" target_url = HOST_URL + URL_PATH + site_id + PATH_PIECE #print(target_url) # 取得時のフィルタ指定は # https://pleasanter.org/ja/manual/api-view # を参照 data = { "ApiVersion": 1.1, "ApiKey": PLEASANTER_API_KEY, "View": { "ColumnFilterHash": {"Title": "株式会社プリザンター"}, "ColumFilterSearchTypes": {"Title": "ExactMatch"}, }, } headers = {"Content-Type": "application/json"} response = requests.post(target_url, json=data, headers=headers) #print(response.status_code) if response.status_code == 200: print(response.json()["Response"]["Data"]) else: print(response.text)
実行結果はこんな感じです。
.venvmor@DESKTOP-DE7IL4F:~/tmp/pleasanter/api$ python records_get_w_filter.py [{'SiteId': 94, 'UpdatedTime': '2025-03-12T09:02:26', 'ResultId': 100, 'Ver': 1, 'Title': '株式会社プリザンター', 'Body': '', 'Status': 0, 'Manager': 0, 'Owner': 5, 'Locked': False, 'Comments': '[]', 'Creator': 2, 'Updator': 2, 'CreatedTime': '2025-03-12T09:02:26', 'ItemTitle': '株式会社プリザンター', 'ApiVersion': 1.1, 'ClassHash': {'ClassA': '東京都中央区', 'ClassB': '111-111-111'}, 'NumHash': {}, 'DateHash': {}, 'DescriptionHash': {}, 'CheckHash': {}, 'AttachmentsHash': {'AttachmentsA': []}}] .venvmor@DESKTOP-DE7IL4F:~/tmp/pleasanter/api$
問題なく取れてますね。
レコードの書き込み
『9.5.3 外部システムからデータを書き込む』のサンプルの場合、『レコード作成』API を使っています。
開発者向け機能:API:テーブル操作:レコード作成 | Pleasanter
Python だとこんな感じになります。
record_write.py
import requests """ 『入門プリザンター』『9.5.3 外部システムからデータを書き込む』の Python 版 呼び出しているAPI は下記のものが該当 https://pleasanter.org/ja/manual/api-record-create """ PLEASANTER_API_KEY = "APIキー" HOST_URL = "http://ホスト名:50001" URL_PATH = "/api/items/" PATH_PIECE = "/create" # テーブルのサイトID site_id = "サイトID" target_url = HOST_URL + URL_PATH + site_id + PATH_PIECE # print(target_url) data = { "ApiVersion": 1.1, "ApiKey": PLEASANTER_API_KEY, "Title": "テストレコード1", "Body": "Pythonからの書き込みテスト", } headers = {"Content-Type": "application/json"} response = requests.post(target_url, json=data, headers=headers) # print(response.status_code) if response.status_code == 200: print(response.json()) else: print(response.text)
実行結果は
.venvmor@DESKTOP-DE7IL4F:~/tmp/pleasanter/api$ python record_write.py {'Id': 114, 'StatusCode': 200, 'Message': '" テストレコード1 " を作成しました。'} .venvmor@DESKTOP-DE7IL4F:~/tmp/pleasanter/api$
こちらも問題ないですね。