0
0

PythonでmicroCMSのエンドポイントにリクエストを投げる

Posted at

はじめに

個人ブログに記事を投稿するプログラムをPythonで作っていたのですが、microCMSで作成したスキーマにリクエストを投げるプログラムの作成に少し時間がかかったので、備忘録も兼ねて投稿します。

microCMSのエンドポイントにリクエストを投げるクラス

今回は、classesフォルダにrequest.pyというファイルを格納しているものとします。

classes/request.py
import requests as req
import json

class Request:
    def __init__(self, url):
        self.headers = {
            'X-MICROCMS-API-KEY': 'xxxxxxxxxxxxxxxxx',
            'Content-Type': 'application/json'
        }
        self.url = url

    def get(self):
        res = req.get(self.url, headers=self.headers)
        return res.json()
    
    def post(self, data):
        res = req.post(self.url, data=json.dumps(data), headers=self.headers)
        return res.json()

下記がポイントです。

  • requestsを使う
  • ヘッダーに「X-MICROCMS-API-KEY」を組み込む
    • APIキーはmicroCMSの管理画面から取得可能
  • POSTリクエストのdataは、json.dumpsを使ってJSONデータにする

実際にGET・POSTリクエストを行う

main.py
from classes.request import Request

# abcスキーマにリクエストを行う
req = Request('https://hogehoge.microcms.io/api/v1/abc')

# GETリクエスト
getRes = req.get()

# POSTリクエスト
data = { ... }
postRes = req.post(data)

おわりに

以前自作のAPIに対して同じような処理を実装したことがあったのですが、その際はurllib3.requestを使用して実装したので、POSTのdataはどうやってリクエストに含める?と戸惑いながら実装しました。

0
0
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
0
0