У меня есть проект по Dialogflow.
Я хотел бы обновить свои Entites, используя PHP и JSON. Я нашел следующую страницу (1) но, к сожалению, это не очень помогает мне. Я думаю, что моей ошибкой является номер в URL, но, к сожалению, я не знаю, какой вставить ..
Мой код:
$data = new \stdClass();
$data->entries[] = array('synonyms' => array('Apfel'), 'value' => 'Apfel');
$data->entries[] = array('synonyms' => array('Salami'), 'value' => 'Salami');
$data->name = 'Zutaten';
//echo json_encode($data);$url = 'https://api.dialogflow.com/v1/entities?v=20150910';
$content = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: Bearer 9debcXXXXXXXXXXXXXXXXXXXXXX"));
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 201 ) {
die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}curl_close($curl);
$response = json_decode($json_response, true);
У кого-нибудь есть идеи, что я могу изменить лучше всего, так что это работает?
Заранее спасибо!
Я пришел к решению сам. Большое спасибо всем, кто помог.
Решение было следующим:
Я должен был выйти из этих двух команд:
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: Bearer 9debXXXXXXXXXXX"));
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
сделать эту команду:
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: Bearer 9debc126XXXXXXXXX\r\nContent-type: application/json"));
Других решений пока нет …