<目次>
(1) PythonでAPIを呼び出すサンプルプログラム
(1-1) 構文
(1-2) STEP1:事前準備
(1-3) STEP2:疎通①(最もシンプルなAPI呼び出し)
(1-4) STEP3(任意):疎通②(Basic認証ありのAPI呼び出し)
(1) PythonでAPIを呼び出すサンプルプログラム
本記事では以下の内容をカバーします。
・①PythonでAPIを呼び出すための構文
・②PythonでAPIを呼び出すためのサンプルプログラム(最もシンプルなAPI呼び出し)
・③PythonでAPIを呼び出すためのサンプルプログラム(Basic認証ありのAPI呼び出し)
(1-1) 構文
# API呼び出しに必要なパッケージのimport import requests # getメソッドでURLに対してGETリクエストを送る response = requests.get("[APIのURL]")
(1-2) STEP1:事前準備
> pip install requests --users
ちなみに「–users」はpipによるインストールをユーザーのホームディレクトリに対して行うように指示するオプションです。通常pipによるインストールは、システムディレクトリ(例:/usr/local/lib/python3.9)に対して実施しますが、これには「管理者権限」が必要となります。
(1-3) STEP2:疎通①(最もシンプルなAPI呼び出し)
# API呼び出しに必要なパッケージのimport import requests # getメソッドでURLに対してGETリクエストを送る response = requests.get("https://zipcloud.ibsnet.co.jp/api/search?zipcode=221-0866") # レスポンスをテキスト形式に変換 result = response.text # 結果をコンソール出力 print(result)
PS C:\dev\Python\ApiTest> & C:/Python310/python.exe c:/dev/Python/ApiTest/__init__.py { "message": null, "results": [ { "address1": "神奈川県", "address2": "横浜市神奈川区", "address3": "羽沢南", "kana1": "カナガワケン", "kana2": "ヨコハマシカナガワク", "kana3": "ハザワミナミ", "prefcode": "14", "zipcode": "2210866" } ], "status": 200 } PS C:\dev\Python\ApiTest>
(1-4) STEP3(任意):疎通②(Basic認証ありのAPI呼び出し)
# 先程と異なり、第2引数でBasic認証に必要な「auth=(user_id,password)」を与えています。 response = requests.get(url, auth=(user_id, password))
import requests import os from requests.auth import HTTPBasicAuth from dotenv import load_dotenv from pathlib import Path # このPythonファイルがあるパスを取得 file_path = Path(__file__).parent # 環境変数用のファイル「.env」のパスを定義 env_path = file_path/'.env' # 環境変数用のファイル「.env」をロードする load_dotenv(dotenv_path=env_path) def main(): # APIのURL url = '[APIのURL]' # Basic認証で必要なID/Password user_id = os.environ['USER_ID'] password = os.environ['PASSWORD'] # getメソッドでURLに対してGETリクエストを送る # ▲先程と異なり、第2引数でBasic認証に必要な「auth=(user_id,password)」を与えています。 response = requests.get(url, auth=(user_id, password)) # レスポンスの内容をtext形式で取得 result = response.text # 結果をコンソール出力 print(result) if __name__ == "__main__": main()
USER_ID=XXXXXXX PASSWORD=XXXXXX