J'essaie de créer une fonction PHP qui ajoute un événement à un calendrier Google. Il semble construire l'objet correctement mais il lance une erreur "Appel à une fonction membre getDOM() sur un non-objet dans FeedEntryParent.php" lors de l'ajout de l'événement. Voici la classe abrégée avec seulement le constructeur et la fonction qui ajoute l'événement:Appel à une fonction membre getDOM() sur un non-objet
class GCal_datasource {
private $user = 'xxxxxxx';
private $pass = 'xxxxxxxxx';
private $client;
private $gdata_cal;
private $calendar;
private $visibility;
public function __construct($settings = NULL){
session_start();
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_HttpClient');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
if($settings == NULL){
$settings = array();
$settings['calendar'] = 'default';
$settings['visibility'] = 'full';
}
$this->calendar = $settings['calendar'];
$this->visibility = $settings['visibility'];
$this->client = $this->get_ClientLoginHttpClient();
$this->gdata_cal = new Zend_Gdata_Calendar($this->client);
}
public function create_event($fields){
$gc = $this->gdata_cal;
$new_event = $this->gdata_cal->newEventEntry();
echo '<pre>';
print_r($fields);
echo '</pre>';
if(isset($fields['quick_add'])){
$new_event->content = $gc->newContent($fields['quick_add']);
$new_event->quickAdd = $gc->newQuickAdd(true);
} else if (isset($fields['title']) && isset($fields['when'])) {
$new_event->title = $fields['title'];
$where = $gc->newWhere($fields['where']);
$new_event->where = array($where);
$desc = $gc->newContent($fields['desc']);
$new_event->content = $desc;
$new_event->content->type = 'text';
$new_event->when = self::build_when_array($fields['when']);
if(isset($fields['web_content'])){
$new_event->link = web_event_array($fields['web_content']);
}
}
echo '<pre>';
print_r($new_event);
echo '</pre>';
$gc->insertEvent($new_event);
return $created_event->id->text;
}
}
L'erreur (je crois) comment je fais appel insertEvent() vers la fin du code. La seule raison pour laquelle je pense que c'est que je reçois seulement l'erreur quand elle existe et si je l'enlève l'écho au-dessus imprime l'objet Event comme prévu.
Quelqu'un avec une meilleure compréhension de l'API PHP Goggle qui peut me donner un coup de main, je serais très reconnaissant.
Cela a fonctionné pour moi! Merci! – mykisscool
Vous êtes les bienvenus! –