<目次>
(1) PleasanterのAPIをPythonからコールするサンプルをご紹介
(1-0) やりたいこと
(1-1) サンプルサイト
(1-2) サンプルプログラム
(1-3) 結果例
(補足) エラー「SSLCertVerificationError~中略~unable to get local issuer certificate」が出た時の対処
(1) PleasanterのAPIをPythonからコールするサンプルをご紹介
(1-0) やりたいこと
(1-1) 構文
(1-2) サンプルプログラム
- import requests
- import pandas as pd
- import json
- def main():
- # 開発者向け機能:API:テーブル操作:レコード作成 を呼び出し、レスポンスを取得する
- body = {
- "ApiVersion":1.1,
- "ApiKey":"xxxxxxxxxxxxxxx",
- "Title":"APIコールテスト2",
- "Status":"100",
- "CompletionTime":"2022/12/28",
- "ClassHash":{
- "ClassA":"100",
- "ClassB":"問い合わせ",
- "ClassC":"業務システム",
- "ClassD":"人事部",
- "ClassE":"開発x1部"
- }
- }
- final_url = "https://demo.pleasanter.org/api/items/7185230/create"
- headers = {'Content-Type': 'application/json','charset':'utf-8',"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"}
- response = requests.post(final_url, headers=headers, json=body)
- print(response)
- if __name__ == "__main__":
- main()
body | HTTPリクエストのボディ部。 リクエストの中身(実際にPleasanterの明細を構成するデータ)が入っています。 https://rainbow-engine.com/http-request-structure/ Pleasanterの場合、「分類A」「分類B」・・・といった項目はClassHashというJSON形式のデータで送ります。 それ以外の標準で固有の名前がついている項目(”Status”や”CompletionTime”)はネストなしでKey-Valueをセットします。 |
headers | HTTPリクエストのヘッダー部 リクエストのメタデータ(Content-Type、エンコードなど)を指定します。 https://rainbow-engine.com/http-request-structure/ Pleasanterの場合、下記はどのAPIでも共通で指定します。 |

(1-3) 結果例


(補足) エラー「SSLCertVerificationError~中略~unable to get local issuer certificate」が出た時の対処
Pythonのローカルで実行する場合、必要な証明書の情報がクライアント側に足りていないため、下記のような証明書の検証エラーが発生する場合があります。
エラーメッセージ
- requests.exceptions.SSLError: HTTPSConnectionPool(host='demo.pleasanter.org', port=443): Max retries exceeded with url: /api/items/7185230/create (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))
