Я пытаюсь добавить несколько документов в одно соединение с помощью REST API облачного хранилища Google. Я могу сделать это для одного документа, но когда я пытаюсь добавить более одного, я получаю сообщение об ошибке.
Код, который я использую для добавления одного документа
$data = array(
'fields' => array(
'Field1' => array(
'stringValue' => 'deneme'
),
'Field2' => array(
'stringValue' => 'deneme2'
)
),
);
//$data = array_values($data);
$data_string = json_encode($data);
echo $data_string;
curl_setopt($ch, CURLOPT_URL, 'https://firestore.googleapis.com/v1beta1/projects/***/databases/(default)/documents/deneme/DEN6600011/TARIH');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$headers = [
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string),
'Authorization: Bearer (MY-API-KEY)'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$sonuc = curl_exec($ch);
curl_close($ch);
echo $sonuc;
Я пытался сделайте это, изменив массив данных, как это, но в это время я получаю сообщение об ошибке.
$data = array(
"documents" => array(
array('fields' => array(
'Field1' => array(
'stringValue' => 'deneme'
),
'Field2' => array(
'stringValue' => 'deneme2'
)
)),
array('fields' => array(
'Field1' => array(
'stringValue' => 'deneme'
),
'Field2' => array(
'stringValue' => 'deneme2'
)
)),
));
Ошибка:
{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unknown name \"documents\" at 'document': Cannot find field.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "document",
"description": "Invalid JSON payload received. Unknown name \"documents\" at 'document': Cannot find field."
}
]
}
]
}
}
Я пробовал другими способами, но у меня возникли ошибки все они. Как я могу добавить несколько данных, используя один JSON с REST API?