Termine aus Google Kontakte auslesen

Hallo,

stelle mal ein extra Thema ein.
Ich habe mit erfolg und Hilfe vom Forum meine Termine im Dashboard.

Leider klappt das auslesen der Geburtstagstermine meiner Google Kontakte nicht.

Hier das Scipt:

<?php

$feedURL = "http://www.google.com/calendar/feeds/%23contacts%40group.v.calendar.google.com/public/full"; #Kalender Geburtstage
$feedParams = "?singleevents=true&max-results=12&orderby=starttime&start-min=".urlencode(date("c"))."&sortorder=a";
$sxml = simplexml_load_file($feedURL.$feedParams);
$today = 0;
setlocale(LC_TIME, "deu_deu");//Localcode auf deutsch setzen
$wire=0;
$date = "";

foreach ($sxml->entry as $entry)
{
    $title = stripslashes(utf8_decode($entry->title));
    $gd = $entry->children('http://schemas.google.com/g/2005');
    $startTime = '';
     if ( $gd->when )
      {
     $startTime = $gd->when->attributes()->startTime;
     }
      elseif ( $gd->recurrence )
      {
     $startTime = $gd->recurrence->when->attributes()->startTime;
     }
    $startTime = strtotime( $startTime );

     if(date("d.m.y") == date("d.m.y", $startTime))
     {
     $today++;
     }
      else
      {
      if($today > 0)
      {
      $today = 0;
      $date .= "";
      }
     }

  $where = utf8_decode($gd->where->attributes()->valueString);
   if(strlen($where) > 0)
   {
   $where = " (".$where.")";
   }

  $wire = $wire+1;
  $date .= strftime("%a. %d.%b %H:%M Uhr: ", $startTime )." ".$title.$where."
";

  $jetzt = date("H:i");
  $heute = date("d.m.y");

  $erinnern = strftime("%H:%M", $startTime-1800);
  $morgen = date("d.m.y", time()+86400);
  $tZeit = strftime("%H:%M", $startTime);
  $tDatum = strftime("%d.%m.%y",$startTime);
  $tDatum1 = strftime("%d. %b.",$startTime);
  $tTag = strftime("%a", $startTime);
  $termin = $title. $where;


   if (($tDatum <> $heute) and ($tDatum <> $morgen) and ($tZeit <> "00:00")) # Termine
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), $tTag);
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), $tDatum1);
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), $tZeit);
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 0);
   }

   if (($tDatum == $heute) and ($tZeit <> "00:00") and ($jetzt <= $tZeit)) # Termine Heute
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), "HEUTE");
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), $tZeit);
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 1);
   }

   if (($tDatum == $morgen) and ($tZeit <> "00:00")) # Termine Morgen
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), "MORGEN");
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), $tZeit);
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 2);
   }

   if (($tDatum <> $heute) and ($tDatum <> $morgen) and ($tZeit == "00:00")) # Ganztägige Termine
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), $tTag);
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), $tDatum1);
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 3);
   }

   if (($tDatum == $heute) and ($tZeit == "00:00") and ($jetzt <= $tZeit)) # Ganztägige Termine Heute
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), "HEUTE");
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 4);
   }

   if (($tDatum == $morgen) and ($tZeit == "00:00")) # Ganztägige Termine Morgen
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), "MORGEN");
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 5);
   }

   if (($tDatum == $heute) and ($tZeit <> "00:00") and ($jetzt > $tZeit)) # vergangene Termine Heute
   {
   SetValue(CreateVariableByName($IPS_SELF, "Tag $wire", 3, "~TextBox"), "");
   SetValue(CreateVariableByName($IPS_SELF, "Datum $wire", 3, "~TextBox"), "HEUTE");
   SetValue(CreateVariableByName($IPS_SELF, "Zeit $wire", 3, "~TextBox"), $tZeit);
   SetValue(CreateVariableByName($IPS_SELF, "Termin $wire", 3, "~TextBox"), $termin);
   SetValue(CreateVariableByName($IPS_SELF, "Status $wire", 1, "~TextBox"), 9);
   }

}

function CreateVariableByName($id, $name, $type, $profile = "")
{
    global $IPS_SELF;
    $vid = @IPS_GetVariableIDByName($name, $id);
    if($vid === false)
    {
        $vid = IPS_CreateVariable($type);
        IPS_SetParent($vid, $id);
        IPS_SetName($vid, $name);
        IPS_SetInfo($vid, "Diese Variable wurde vom Script #$IPS_SELF erstellt.");
        if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
    }
    return $vid;
}

?>

Die $feedURL habe ich aus GGoogle übernommen, was mir aber irgendwie fehlt ist der Bezug auf mein Konto.

Habt Ihr eine Idee?

hat keiner eine Idee?

Jörg