0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mochi Cards APIのPythonスクリプト例

Last updated at Posted at 2024-11-16

Mochi Cardsとは?

image.png

MochiCardsは暗記用のフラッシュカードを作成する(Web/モバイル)アプリです。
効率よく長期記憶に定着させるための分散学習を行うことに最適化されており、忘れた頃に問題が出題されるため、長期記憶の強化に最適化されています。

詳細に再出題の頻度などを設定できる点や、類似のアプリAnkiと比較してUIが優れていること、モバイルとPCでも同期(要サブスク)して使用できるため外出先でも使用可能なことなどが優れています。

サブスクが必要になりますが、APIを使用することでカードの作成が可能なため、他のアプリからの移行や、まとめてカードの設定を変更するなどを簡単に行うことができます。

今回はPythonからAPIを使用してカードを登録する例をご紹介します。

Mochi CardsのAPIを使用するにはサブスクが必須となります。

Pythonによるスクリプトの例

requestsライブラリのインストール

pip install requests

カード作成スクリプト例

mochi_api_sample.py
import requests
from requests.auth import HTTPBasicAuth
import json

# APIのエンドポイントとAPIキー
API_URL = "https://app.mochi.cards/api/cards"
API_KEY = "ここにAPIキー"

# カード作成のためのデータ
payload = {
    "content": "これはAPIから作成されたカードです。",
    "deck-id": "ここにdeck-id"
}

# ヘッダー情報
headers = {
    "Content-Type": "application/json"
}

# 認証情報の設定
auth = HTTPBasicAuth(API_KEY, '')

# POSTリクエストでカードを作成
response = requests.post(API_URL, headers=headers, data=json.dumps(payload), auth=auth)

# レスポンスの確認
if response.status_code == 200:
    print("カードが正常に作成されました。")
    print("レスポンスデータ:", response.json())
else:
    print(f"エラーが発生しました。ステータスコード: {response.status_code}")
    print("エラーメッセージ:", response.text)

特筆すべき点としては、Mochi APIでは認証にBase64でエンコードした認証ヘッダーが必要となります。

# 認証情報の設定
auth = HTTPBasicAuth(API_KEY, '')

成功時は以下のような出力例となります。

カードが正常に作成されました。
レスポンスデータ: {'tags': [], 'content': 'これはAPIから作成されたカードです。', 'name': 'これはAPIから作成されたカードです。', 'deck-id': '3OBZo9wR', 'cloze/indexes': [], 'pos': 'U', 'references': [], 'id': 'QQjTjApk', 'reviews': [], 'created-at': {'date': '2024-11-16T13:32:43.678Z'}, 'new?': False, 'template-id': None}

APIに必要な情報の取得場所

APIキー

11ff377080857bb4037ebd938bc66d4f.png
左上にあるユーザー名の'Account settings'から


ee4e6b73c0ac24dcdca02a94bb706fb5.png

開いたモーダルをスクロールすると現れる'Create API Key'でAPIキーを生成できます。

Deck ID

82a159c04101f7f83b317cebe7338e93.png

Deckを右クリックすると現れる'Copy ID'から取得できます。

[[3OBZo9wR]]のように、[[ ]]を含む形式でコピーされますが、必要な情報は内部のテキストな点に注意が必要です。

参考

分散学習

mochi 公式

mochi API Document

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?