Я использую запрос на завивку для моего внутреннего php-класса для доступа к вычислительному маршруту Google.
когда я запускаю запрос на завивку со строкой, он работает (как показано ниже).
Однако динамически генерируя значения с помощью массива, а затем преобразуя их в объект, я получаю сообщение об ошибке;
"Объект класса stdClass не может быть преобразован в строку"
Пример кода:
Это работает:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://routes.googleapis.com/direction ... puteRoutes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"origin":{
"location":{
"latLng":{
"latitude": 37.419734,
"longitude": -122.0827784
}
}
},
"destination":{
"location":{
"latLng":{
"latitude": 37.417670,
"longitude": -122.079595
}
}
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE",
"computeAlternativeRoutes": false,
"routeModifiers": {
"avoidTolls": false,
"avoidHighways": false,
"avoidFerries": false
},
"languageCode": "en-US",
"units": "METRIC"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'X-Goog-Api-Key: myPrivateKey',
'X-Goog-FieldMask: *'
),
));
$res = curl_exec($curl);
curl_close($curl);
DD($res);
Однако, когда я попробовал то же самое с динамически сгенерированным массивом, возникла ошибка:
Пример ошибки:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://routes.googleapis.com/direction ... puteRoutes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_decode(json_encode($this->converToObjects())),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'X-Goog-Api-Key: myPrivateKey',
'X-Goog-FieldMask: *'
),
));
$res = curl_exec($curl);
curl_close($curl);
Массив:
public function converToObjects()
{
return [
'origin' => [
'location' => [
'latLng' => [
'latitude' => 37.419734,
'longitude' => -122.0827784
]
]
],
'destination' => [
'location' => [
'latLng' => [
'latitude' => 37.41767,
'longitude' => -122.079595
]
]
],
'travelMode' => 'DRIVE',
'routingPreference' => 'TRAFFIC_AWARE',
'computeAlternativeRoutes' => false,
'routeModifiers' => [
'avoidTolls' => false,
'avoidHighways' => false,
'avoidFerries' => false
],
'languageCode' => 'en-US',
'units' => 'METRIC'
];
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... o-string-w
Сообщение об ошибке Curl «Объект класса stdClass не может быть преобразован в строку» при использовании Google ComputeRo ⇐ Php
Кемеровские программисты php общаются здесь
1769509794
Anonymous
Я использую запрос на завивку для моего внутреннего php-класса для доступа к вычислительному маршруту Google.
когда я запускаю запрос на завивку со строкой, он работает (как показано ниже).
Однако динамически генерируя значения с помощью массива, а затем преобразуя их в объект, я получаю сообщение об ошибке;
"Объект класса stdClass не может быть преобразован в строку"
Пример кода:
Это работает:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://routes.googleapis.com/directions/v2:computeRoutes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"origin":{
"location":{
"latLng":{
"latitude": 37.419734,
"longitude": -122.0827784
}
}
},
"destination":{
"location":{
"latLng":{
"latitude": 37.417670,
"longitude": -122.079595
}
}
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE",
"computeAlternativeRoutes": false,
"routeModifiers": {
"avoidTolls": false,
"avoidHighways": false,
"avoidFerries": false
},
"languageCode": "en-US",
"units": "METRIC"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'X-Goog-Api-Key: myPrivateKey',
'X-Goog-FieldMask: *'
),
));
$res = curl_exec($curl);
curl_close($curl);
DD($res);
Однако, когда я попробовал то же самое с динамически сгенерированным массивом, возникла ошибка:
Пример ошибки:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://routes.googleapis.com/directions/v2:computeRoutes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_decode(json_encode($this->converToObjects())),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'X-Goog-Api-Key: myPrivateKey',
'X-Goog-FieldMask: *'
),
));
$res = curl_exec($curl);
curl_close($curl);
Массив:
public function converToObjects()
{
return [
'origin' => [
'location' => [
'latLng' => [
'latitude' => 37.419734,
'longitude' => -122.0827784
]
]
],
'destination' => [
'location' => [
'latLng' => [
'latitude' => 37.41767,
'longitude' => -122.079595
]
]
],
'travelMode' => 'DRIVE',
'routingPreference' => 'TRAFFIC_AWARE',
'computeAlternativeRoutes' => false,
'routeModifiers' => [
'avoidTolls' => false,
'avoidHighways' => false,
'avoidFerries' => false
],
'languageCode' => 'en-US',
'units' => 'METRIC'
];
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79877016/curl-error-message-object-of-class-stdclass-could-not-be-converted-to-string-w[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия