Как публиковать медиа (изображения) на Мастодонте с помощью API? - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь отправить изображение на Mastodon (в частности, на Humblr), но я не могу получить media_id, ответ нулевой, но я не уверен, где проблема.

Я могу публиковать текст, без проблем, так что с аутентификацией все в порядке, у меня проблема только с изображением, единственное отличие, которое я вижу в документации , заключается в том, что "Медиа файлзакодированы с использованием multipart / form-data ".Вот мой код на данный момент ...

$headers = ['Authorization: Bearer '.$settings['access_token'] , 'Content-Type: multipart/form-data'];

  $mime_type = mime_content_type($urlImage);                     
  $cf = curl_file_create($urlImage,$mime_type,'file');
  $media_data = array(  "file" => $cf);

  $ch_status = curl_init();
  curl_setopt($ch_status, CURLOPT_URL, "https://humblr.social/api/v1/media");   
  curl_setopt($ch_status, CURLOPT_POST, 1);
  curl_setopt($ch_status, CURLOPT_POSTFIELDS, $media_data);
  curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);

  $media_status = json_decode(curl_exec($ch_status));
  echo "Response: ".json_encode($media_status);

Из этого я хочу извлечь $ media_status-> media_id

Я не очень много знаю о 'multipart / form-data'Если честно.Я что-то упустил?

...