我在使用API更新Google日历事件时遇到了一些问题。我正试图实现它描述如下:http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html#UpdatingEvents
我不确定什么标题和正文需要附加到请求。我发送的报头是:
'header' => array(
'Content-Type' => 'application/json',
'If-Match' => '*',
'GData-Version' => 2
)
基本上,这是我的请求:
Array
(
[method] => PUT
[uri] => Array
(
[scheme] => https
[host] => www.google.com
[port] => 443
[user] =>
[pass] =>
[path] => /calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z
[query] => Array
(
)
[fragment] =>
)
[version] => 1.1
[body] => {"apiVersion":"1.0","data":{"kind":"calendar#event","id":"8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z","selfLink":"https://www.google.com/calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z","alternateLink":"https://www.google.com/calendar/event?eid=OHZwZzFoYThvYWhpbjhsN2swc3ZnOGt0c3NfMjAxMTExMTdUMTQwMDAwWiA2b2tuOW9ycWNxNWtnZDJrdHNzdnE2NzVrOEBn","canEdit":true,"title":"hihi","created":"2011-10-25T16:15:18.000Z","updated":"2011-11-10T13:54:27.000Z","details":"titel: "Paintball vrouwen evenement"nbeschrijving: "Dit evenement is enkele voor vrouwen"npersonen: "33"ngroepen: "12"nstatus: "auto"npopulair: "nee"n","status":"confirmed","creator":{"displayName":"--@gmail.com","email":"--@gmail.com"},"anyoneCanAddSelf":false,"guestsCanInviteOthers":true,"guestsCanModify":false,"guestsCanSeeGuests":true,"sequence":2,"transparency":"opaque","visibility":"private","location":"Paintball","attendees":[{"rel":"organizer","displayName":"website","email":"6okn9orqcq5kgd2ktssvq675k8@group.calendar.google.com"}],"when":[{"start":"2011-11-17T10:00:00.000Z","end":"2011-11-17T12:00:00.000Z"}],"originalEvent":{"href":"http://www.google.com/calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss","id":"8vpg1ha8oahin8l7k0svg8ktss","start":"2011-11-17T14:00:00.000Z"}}}
[line] => PUT /calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z HTTP/1.1
[header] => Host: www.google.com
Connection: close
User-Agent: CakePHP
Content-Type: application/json
If-Match: *
Content-Length: 1457
[raw] => PUT /calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z HTTP/1.1
Host: www.google.com
Connection: close
User-Agent: CakePHP
Content-Type: application/json
If-Match: *
Content-Length: 1457
{"apiVersion":"1.0","data":{"kind":"calendar#event","id":"8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z","selfLink":"https://www.google.com/calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss_20111117T140000Z","alternateLink":"https://www.google.com/calendar/event?eid=OHZwZzFoYThvYWhpbjhsN2swc3ZnOGt0c3NfMjAxMTExMTdUMTQwMDAwWiA2b2tuOW9ycWNxNWtnZDJrdHNzdnE2NzVrOEBn","canEdit":true,"title":"hihi","created":"2011-10-25T16:15:18.000Z","updated":"2011-11-10T13:54:27.000Z","details":"titel: "Paintball vrouwen evenement"nbeschrijving: "Dit evenement is enkele voor vrouwen"npersonen: "33"ngroepen: "12"nstatus: "auto"npopulair: "nee"n","status":"confirmed","creator":{"displayName":"--@gmail.com","email":"--@gmail.com"},"anyoneCanAddSelf":false,"guestsCanInviteOthers":true,"guestsCanModify":false,"guestsCanSeeGuests":true,"sequence":2,"transparency":"opaque","visibility":"private","location":"Paintball","attendees":[{"rel":"organizer","displayName":"website","email":"6okn9orqcq5kgd2ktssvq675k8@group.calendar.google.com"}],"when":[{"start":"2011-11-17T10:00:00.000Z","end":"2011-11-17T12:00:00.000Z"}],"originalEvent":{"href":"http://www.google.com/calendar/feeds/6okn9orqcq5kgd2ktssvq675k8%40group.calendar.google.com/private/full/8vpg1ha8oahin8l7k0svg8ktss","id":"8vpg1ha8oahin8l7k0svg8ktss","start":"2011-11-17T14:00:00.000Z"}}}
[cookies] => Array
(
)
[proxy] => Array
(
)
[auth] => Array
(
)
)
这是我得到的400状态的响应:
您的客户端发出了一个错误的或非法的请求。
所以,我显然做错了什么,有人知道吗?
由于您放置的PHP标记,我假设您正在使用PHP。您正在使用Zend Gdata框架吗?如果是,你有更多的信息在这里:https://code.google.com/apis/calendar/data/1.0/developers_guide_php.html
是否使用save()方法?
你能提供给我们你正在使用的代码吗?