cURL

vam

Новичок
Приветствую! Помогите новичку разобраться как выполнить такой cURL запрос в PHP

Код:
curl --location --request POST 'https://api.site.ru/v1/projects/123456789/folders' \
--data-raw '{
    "name": "New folder"
}'
Что нужно добавить в

PHP:
$ch = curl_init('https://api.site.ru/v1/projects/123456789/folders');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer qwerty123'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
 

AnrDaemon

Продвинутый новичок
Как минимум - content-type.

Код:
<?php

$curl = new AnrDaemon\Net\Browser([
 \CURLOPT_HTTPHEADER => ['Authorization: Bearer qwerty123', 'Content-Type: …']
]);

$result = $curl->post('https://api.site.ru/v1/projects/123456789/folders', json_encode([name'=> 'New folder']));
 

vam

Новичок
Не понял как применить ваш ответ в своем коде, но сделал так и получил это

{ "error": { "code": 400102, "message": "json type error", "detail": "json: cannot unmarshal number into Go value of type project.FolderForm" } }

PHP:
$query = array(
json_encode(['name' => 'New Folder'])
);
$query_str = http_build_query($query);
 
 
ch = curl_init('https://api.site.ru/v1/projects/123456789/folders');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer qwerty123', 'Content-Type: multipart/form-data'));
 
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_str);
 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
 

vam

Новичок
Без разницы! Тут дело в другом было. Так лучше? Content-Type: application/json
Вопрос решен.
PHP:
$query_str = json_encode(['name' => 'New Folder']);
 
Сверху