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()