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