Что нового

Конвертация JSON в String (PHP) (1 Viewer)

MaHarder

MaHarder

Модератор
SkripTers TEAM
Кодеры
OLD SkripTers
Регистрация
17 Дек 2019
Сообщения
1,397
Реакции
766
Есть массив данных: https://pastebin.com/rZ1Dgejh
https://core.telegram.org/bots/api#sendmediagroup требует конвертацию в массив из объектов JSON
Массив данных отправляется так

PHP:
$post['media'] = json_encode($media_group['media'], JSON_UNESCAPED_UNICODE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

Получаю такой ответ:
JSON:
{"ok":false,"error_code":400,"description":"Bad Request: field \"media\" must be of type String"}
При этом в документации стоит, что нужен массив.

я запутался
 
Проблема решена.
Массив данных нужно было преобразить. Добавляемые файлы нужно было отдельно декларировать в массив отправки данных, а файлы в медиа заменить на attach. Должно получиться что-то типа:
PHP:
$postContent = [
    'chat_id' => $GLOBALS['chatId'],
    'media' => json_encode([
        ['type' => 'photo', 'media' => 'attach://file1.png' ],
        ['type' => 'photo', 'media' => 'attach://file2.png' ],
    ]),
    'file1.png' => new CURLFile(realpath($filePath1)),
    'file2.png' => new CURLFile(realpath($filePath2)),
];
post($url, $postContent);

Спасибо https://stackoverflow.com/a/63001391/8404189 за подсказку решения проблемы
 
Последнее редактирование:

Пользователи, просматривающие данную тему

Верх