Получение информации из Календаря Google с использованием документа php - PullRequest
0 голосов
/ 20 июля 2011

Ниже приведен код.Кажется, не открывать календарь Google вообще.Я считаю, что это как-то связано с URL-адресом, который я использую, и, возможно, со специальным символом.Я получаю следующее:

Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: I/O warning : failed to load external entity "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic" on line 4

<?
$dom = new DOMDocument(); 
$feed = "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic";
$html = $dom->loadHTMLFile($feed);
$dom->preserveWhiteSpace = true;
$entries = $dom->getElementsByTagName("entry"); 


foreach ( $entries as $entry ) 
{ 

    $status = $entry->getElementsByTagName( "eventStatus" ); 
    $eventStatus = $status->item(0)->getAttributeNode("value")->value;

    if ($eventStatus == $confirmed) 
 {
        $titles = $entry->getElementsByTagName( "title" ); 
        $title = $titles->item(0)->nodeValue;

        $times = $entry->getElementsByTagName( "when" ); 
            $startTime = $times->item(0)->getAttributeNode("startTime")->value;
            $when = date( "l jS \o\f F Y - h:i A", strtotime( $startTime ) );

            $places = $entry->getElementsByTagName( "where" ); 
            $where = $places->item(0)->getAttributeNode("valueString")->value;

            print $title . "\n"; 
            print $when . " AST\n"; 
            print $where . "\n"; 
            print "\n"; 
        }
    }
?>

1 Ответ

0 голосов
/ 20 июля 2011

Насколько я знаю, DOMDocument::loadHTMLFile() способен согласовывать SSL, но если он не работает, вы можете попробовать file_get_contents() сначала прочитать файл в строку.

$dom = new DOMDocument(); 
$feed = "https://www.google.com/calendar/feeds/tjd@dreilinginc.com/public/basic";
$feed_string = file_get_contents($feed);
$html = $dom->loadHTMLFile($feed_string);

Это полностьюспекулятивный, хотяОбрабатывайте его так.

РЕДАКТИРОВАТЬ Убедитесь, что в вашем php.ini включен allow_url_fopen.

...