Misskey API の使い方

Misskey API の基本的な使い方をまとめておきます。
他の人のノートを取得したくて調べてみました。
ちなみに、`userId` で沼って意外と時間がかかってしまいました。

公式サイトの説明が一番わかり易い。
misskey-hub.net

トークンの取得以外は単体で完結しています。

トークンの取得

「設定>API」からトークンを取得できる。
こういう記事もある。
Misskeyのアクセストークン発行方法 | BaskMedia

メタデータの取得

`host`にはホスト名を、`token`には先程取得したトークンを代入する。

host = ""
token = ""
headers = {'Content-Type': 'application/json'}
url = f"https://{host}/api"

body = {
"i" : token,
"detail": False,
}
r = requests.post(f"{url}/meta", headers=headers, json=body)
print(r.text)

ノートの作成

`host`にはホスト名を、`token`には先程取得したトークンを代入する。

host = ""
token = ""
headers = {'Content-Type': 'application/json'}
url = f"https://{host}/api"

text = "Hello, World!"
body = {
    "i" : token,
    "visibility": "home",
    "text": text,
}
r = requests.post(f"{url}/notes/create", headers=headers, json=body)

ノートの検索

`host` にはホスト名を、`token` には先程取得したトークンを代入する。
`user_id` にはユーザーID を入れる。
自分のユーザーID は、「設定>その他>アカウント情報」から見ることができる。
他の人のものは、検索タブでその人を指定して検索を行い、開発者ツールのネットワークから「search」を探して、リクエストの body を見るとわかる。

host = ""
token = ""
headers = {'Content-Type': 'application/json'}
url = f"https://{host}/api"

user_id = ""
body = {
    "i" : token,
    "limit": 10,
    "query": "",
    "userId": user_id, 
}
r = requests.post(f"{url}/notes/search", headers=headers, json=body)
print(r.text)