LoginSignup
2
3

More than 1 year has passed since last update.

PythonでのAPIの叩き方

Last updated at Posted at 2023-02-28

初めに

PythonでAPIを叩く際に, HeaderやBodyの指定の仕方でハマった記憶があり、知識の整理も兼ねて,

  • Headerの指定方法
  • Bodyの指定方法

について整理します。

基本的にAPIを叩く際には、Headerで認証がおり、Bodyでパラメータを指定してAPIを叩く形式が基本です。

叩くAPIによって若干HeaderやBodyの作成方法が異なるかもしれませんが、筆者が最近使用した事例ベースを一般化させた形式で記述します。

Sampleコード

# import module
import requests

# アクセストークンの定義
token = hogehoge

#Headerの作成
headers = {
        'Content-Type' : 'application/json',
        'Authorization': 'Bearer {}'.format(token),
        }

# bodyの作成
body = {
         "param1": hogehoge,
         "param2": hogehoge,
         "param3": hogehoge,
         "param4": hogehoge,
         }
     
# URLの定義
url = 'https://hogehoge.com'

# getメソットでAPIを叩く
res = requests.get(
            url = url,
            json = body,
            headers = headers,
            )

各コードの説明

Headerの作成について

# アクセストークンの定義
token = hogehoge

#Headerの作成
headers = {
        'Content-Type' : 'application/json',
        'Authorization': 'Bearer {}'.format(token),
        }

上記コードがHeaderの作成コードになります。
Headerとは主にAPIを叩く際に、クライアント(ユーザー)を認証するために必要になるものです。

作成の仕方については、仕様書に従うとしか言えないのですが、Content-Type, AuthorizationについてがどのAPIでも求められるが基本です。
形式はjsonの形式で指定します。

bodyの作成方法について

# bodyの作成
body = {
         "param1": hogehoge,
         "param2": hogehoge,
         "param3": hogehoge,
         "param4": hogehoge,
         }

URLでbodyを指定する方法もありますが、そちらについては別記事を参照ください。
bodyを作成するのは極めて簡単です。json形式で各パラメータを指定するだけで良いためです。
ただ、私がハマったポイントとしては、bodyの指定の仕方です。
headerはheaders = で指定するのに, bodyはjson= で指定する点です。

筆者は最初にbody = bodyと指定していて、ずっとエラーが返ってきていました。

# getメソットでAPIを叩く
res = requests.get(
            url = url,
            json = body,
            headers = headers,
            )

以上がpythonでのAPIの叩き方になります。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3