Google日历更新事件——您的客户端发出了错误的或非法的请求



我在使用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()方法?

你能提供给我们你正在使用的代码吗?

如果你给我这个答案,我会编辑这个答案,给你更新的正确版本。

最新更新