2011-04-04 49 views
0

我正在嘗試使用Google日曆API更新日曆中的事件,但無法使其工作。使用Google日曆API未更新事件

這是我的更新功能。

我正在使用pecl的oauth擴展。

public function updateEvent($id,$title,$body,$start,$end){ 

     $calendar = $this->getCalendars(); 

     try { 

      $feed = $this->fetch($calendar['data']['items']['0']['eventFeedLink']."/".$id); 

      $feed['data']['title'] = $title; 
      $feed['data']['details'] = $body; 
      $feed['data']['when']['0']['start'] = $this->jsDateToGoogleDate($start); 
      $feed['data']['when']['0']['end'] = $this->jsDateToGoogleDate($end); 

      echo json_encode($feed); 

      $this->oauth->fetch($feed['data']['selfLink'],json_encode($feed),OAUTH_HTTP_METHOD_PUT,array("Content-Type"=>"application/json","If-Match"=>"*")); 

      print_r(json_decode($this->oauth->getLastResponse(),true)); 

     } catch (OAuthException $e){ 
      die("ERR : ".$e->getMessage()); 
     } 
    } 

我沒有錯誤是如此之多。

回波json_encode($feed)輸出:

{ "apiVersion" : "2.6", 
    "data" : { "alternateLink" : "https://www.google.com/calendar/event?eid=bHBkam44Yjk2dDMwYXRxa2dmNzY4dmpkbWMgY3ZlcmJpbm5lbkBmcmVlLWV4cGVydC5jb20", 
     "anyoneCanAddSelf" : false, 
     "attendees" : [ { "displayName" : "[email protected]", 
      "email" : "[email protected]", 
      "rel" : "organizer" 
      } ], 
     "canEdit" : true, 
     "created" : "2011-04-04T07:08:14.000Z", 
     "creator" : { "displayName" : "Christophe Verbinnen", 
      "email" : "[email protected]" 
     }, 
     "details" : "dklj", 
     "etag" : "\"F0gCQwRIeip7JGA6WhJQ\"", 
     "guestsCanInviteOthers" : true, 
     "guestsCanModify" : false, 
     "guestsCanSeeGuests" : true, 
     "id" : "lpdjn8b96t30atqkgf768vjdmc", 
     "kind" : "calendar#event", 
     "selfLink" : "https://www.google.com/calendar/feeds/cverbinnen%40free-expert.com/private/full/lpdjn8b96t30atqkgf768vjdmc", 
     "sequence" : 0, 
     "status" : "confirmed", 
     "title" : "nuvo", 
     "transparency" : "opaque", 
     "updated" : "2011-04-04T07:08:14.000Z", 
     "visibility" : "default", 
     "when" : [ { "end" : "2011-04-06T13:00:00.000+02:00", 
      "start" : "2011-04-06T08:30:00.000+02:00" 
      } ] 
    } 
} 

並從PUT的輸出:

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gCal='http://schemas.google.com/gCal/2005' xmlns:gd='http://schemas.google.com/g/2005'> 

    <id>http://www.google.com/calendar/feeds/cverbinnen%40free-expert.com/private/full/lpdjn8b96t30atqkgf768vjdmc</id> 

    <published>2011-04-04T07:08:14.000Z</published> 

    <updated>2011-04-04T07:08:14.000Z</updated> 

    <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event' /> 

    <title type='text'>nuvo</title> 

    <content type='text'>dklj</content> 

    <link rel='alternate' type='text/html' href='https://www.google.com/calendar/event?eid=bHBkam44Yjk2dDMwYXRxa2dmNzY4dmpkbWMgY3ZlcmJpbm5lbkBmcmVlLWV4cGVydC5jb20' title='alternate' /> 

    <link rel='self' type='application/atom+xml' href='https://www.google.com/calendar/feeds/cverbinnen%40free-expert.com/private/full/lpdjn8b96t30atqkgf768vjdmc' /> 

    <link rel='edit' type='application/atom+xml' href='https://www.google.com/calendar/feeds/cverbinnen%40free-expert.com/private/full/lpdjn8b96t30atqkgf768vjdmc/63437584094' /> 

    <author> 

    <name>Christophe Verbinnen</name> 

    <email>[email protected]</email> 

    </author> 

    <gd:comments> 

    <gd:feedLink href='https://www.google.com/calendar/feeds/cverbinnen%40free-expert.com/private/full/lpdjn8b96t30atqkgf768vjdmc/comments' /> 

    </gd:comments> 

    <gd:eventStatus value='http://schemas.google.com/g/2005#event.confirmed' /> 

    <gd:where /> 

    <gd:who email='[email protected]' rel='http://schemas.google.com/g/2005#event.organizer' valueString='[email protected]' /> 

    <gd:when endTime='2011-04-06T11:45:00.000+02:00' startTime='2011-04-06T08:30:00.000+02:00' /> 

    <gd:transparency value='http://schemas.google.com/g/2005#event.opaque' /> 

    <gd:visibility value='http://schemas.google.com/g/2005#event.default' /> 

    <gCal:anyoneCanAddSelf value='false' /> 

    <gCal:guestsCanInviteOthers value='true' /> 

    <gCal:guestsCanModify value='false' /> 

    <gCal:guestsCanSeeGuests value='true' /> 

    <gCal:sequence value='0' /> 

    <gCal:uid value='[email protected]' /> 

</entry> 

正如你可以看到從PUT的輸出是不一樣的從進料的一個我因爲我發送的結束日期是13:00,並且它返回的結束日期沒有修改(仍然在11點45分)。

該Http響應碼是200.

任何人都有線索?

感謝您的閱讀。

回答

相關問題