<目次>
(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)')))
