我正在尝试在 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
老实说,我对“多部分/表单数据”了解不多。我错过了什么吗?