起きていた事象
Blueskyに対してAPIで投稿を行っているBotがあるのですが、それが最近こけ始めました。
エラー内容を見てみると、リクエスト時に指定しているcreatedAt
というパラメータが不正とのこと。
{
"error": "InvalidRequest",
"message": "Invalid app.bsky.feed.post record: createdAt must be an valid atproto datetime (both RFC-3339 and ISO-8601)"
}
対処法
以下の形式でcreatedAt
を設定するとエラーなくAPIにリクエストが送信できました
import datetime
datetime.datetime.now(tz=datetime.timezone.utc).replace(tzinfo=None).isoformat(timespec="milliseconds") + "Z"
原因
API側のcreatedAt
に対するバリデーションに引っかかっていた。
↓エラー内容的にはここ。
↓具体的には、ここに記載されているDatetimeの形式に合わせてあげる必要があります