Как опубликовать несколько изображений в мастодонте, используя API с bash curl
Я начинаю учиться использовать rest api через bash curl, написав простого бота мастодонта. Я могу прикрепить несколько изображений, используя
curl https://example.com/api/v1/statuses \
-H 'Authorization: Bearer $TOKEN' \
-F "status=text" \
-F "media_ids[]=$id1" \
-F "media_ids[]=$id2" \
-F "media_ids[]=$id3"
Но как прикрепить несколько картинок, когда я не знаю, сколько имен файлов будет передано скрипту? В документации сказано, что я должен передать массив идентификаторов. Как правильно это сделать?
2 ответа
Чтобы опубликовать новый статус с предыдущим загруженным изображением:
curl https://mastodon.social/api/v1/statuses -H 'Authorization: Bearer zzzzzzzzzzzzzzzzzzzzzzzzzzzz' -F 'status=Here it is the rule 30 Cellular Automata!!' -F 'media_ids[]=109355507063219606'
Я могу загрузить изображение в Mastodon следующим образом:
$ curl -H "Authorization: Bearer zzzzzzzzzzzzzzzzzzzzzzzz" -X POST -H "Content-Type: multipart/form-data" https://mastodon.social/api/v1/media --form file="@ca30.png"
он возвращается
{"id":"109355507063219606","type":"image","url":"https://files.mastodon.social/media_attachments/files/109/355/507/063/219/606/original/007853b091c2d75e.png","preview_url":"https://files.mastodon.social/media_attachments/files/109/355/507/063/219/606/small/007853b091c2d75e.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":200,"height":201,"size":"200x201","aspect":0.9950248756218906},"small":{"width":200,"height":201,"size":"200x201","aspect":0.9950248756218906}},"description":null,"blurhash":"U0KK==D%_3~q%M?bt7?b?bt7WBRj_3of4n4n"}