Объект класса stdClass не может быть преобразован в строку Eventbrite API

Я пытаюсь обновить сайт со старого API Eventbrite на новый. Этот PHP-код отлично работал на старом.

Я пытаюсь сохранить события из Eventbrite в разделе событий на нашем собственном сайте.

Я получаю событие от eventbrite без проблем:

$json = file_get_contents('https://www.eventbriteapi.com/v3/events/'.$id.'?token=evbsecrettoken');
$event = json_decode($json);

Затем я пытаюсь сохранить его на нашем сайте, используя функцию сохранения, которая, как мне известно, работает из нашего бэкэнда.

$eventId = $this->config->DS->saveEvent('new',
$event->name->text,
$event->description,
$countryId,
$cityId,
$venueId,
$event->start->local,
'',
0,
0,
$image,
$_SESSION['admin']['user_id']);

Функция saveEvent выглядит так

public function saveEvent($id, $title, $body, $country, $city, $venue, $date, $cost, $ticker, $active, $image, $userId) {
if($id == 'new'){
$slug = $this->getAvailableSlugByTable('event', $title);

$eventId = $this->addEvent($userId, $country, $city, $venue, $title, $date, $cost, $body, $image, $slug, $ticker, $active);

return $eventId;

AddEvent выглядит как

 public function addEvent($userId, $country, $city, $venue, $title, $date, $cost, $text, $image, $slug, $ticker = 0, $active = 0){
$this->dbHandler->DbQuery('INSERT event SET user_id = ?, country_id = ?, city_id = ?, venue_id = ?, event_title = ?, event_date = ?, event_cost = ?, event_text = ?, event_image = ?, event_slug = ?, event_ticker = ?, event_active = ?', Array($userId, $country, $city, $venue, $title, $date, $cost, $text, $image, $slug, $ticker, $active));

$eventId = $this->dbHandler->lastInsertId();

// add ticker if needed
if($ticker){
$this->addTicker('event', $title, $slug, $text, $image, 'events', $eventId, $userId, 0);
}

return $eventId;
}

Но я получаю ошибку «Catchable fatal error: объект класса stdClass не может быть преобразован в строку», и трассировка стека выглядит следующим образом:

[03-Feb-2016 21:11:13 UTC] PHP   7. Admin_Data_Source->saveEvent() /home/ubuntu/workspace/admin/modules/eventbrite.php:94
[03-Feb-2016 21:11:13 UTC] PHP   8. Site_Data_Source->addEvent() /home/ubuntu/workspace/lib/persistence/adminDataSource.php:368
[03-Feb-2016 21:11:13 UTC] PHP   9. DBhandler->DbQuery() /home/ubuntu/workspace/lib/persistence/siteDataSource.php:553
[03-Feb-2016 21:11:13 UTC] PHP  10. PDOStatement->execute() /home/ubuntu/workspace/lib/dbHandler/dbHandler.php:88

Есть идеи, что я делаю не так? Я не знаю, в какой класс обращаются. Любая помощь высоко ценится, спасибо!

0

Решение

Кажется, что одна из ваших переменных не является строкой.

Внутри функции addEvent я бы сделал var_dump на каждый параметр функции и проверьте его тип. Возможно, изображение — это объект, а не строка, как вы ожидаете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]