Anki auto-sync script

旅行中に、自宅のデスクトップとAnkiの同期を簡単に行いたいと思い、自動sync用のPythonスクリプトを作成しました。Ankiにはいくつか自動同期を実現するアドオンがありますが、自分の用途に合わせてシンプルで使いやすいものを作りたかったため、AnkiConnectを活用して作成しました。

これを毎日4:00に自動で作動するように設定してます。

AnkiConnectをすでに使用している方向けの内容です。

import requests

def sync_anki():
    # Configuration
    url = "http://localhost:8765"  # Ensure AnkiConnect is running on this endpoint
    headers = {"Content-Type": "application/json"}
    
    # Replace 'YOUR_API_KEY_HERE' with your actual AnkiConnect API key
    api_key = "YOUR_API_KEY_HERE"
    
    # Sync payload
    sync_payload = {
        "action": "sync",
        "version": 6,
        "key": api_key
    }

    # Send sync request
    try:
        response = requests.post(url, json=sync_payload, headers=headers).json()

        # Check for errors
        if response.get("error"):
            print(f"[ERROR] Sync failed: {response['error']}")
        else:
            print("Successfully synchronized with AnkiWeb.")
    except Exception as e:
        print(f"[ERROR] An error occurred: {e}")

# Execute function
if __name__ == "__main__":
    sync_anki()

いいなと思ったら応援しよう!