gpt4 book ai didi

google-calendar-api - Google Calendar API v3 在更新事件时返回 "Not Found"

转载 作者:行者123 更新时间:2023-12-02 02:06:36 24 4
gpt4 key购买 nike

好的,首先,如果这个问题得到了回答,请简单地指出正确的方向。我搜索了又搜索,却找不到我遇到的问题的答案。

这是场景,我有一个需要能够执行以下操作的应用程序:

  1. 获取指定日历的事件列表
  2. 确定事件的开始和结束时间
  3. 如果开始时间不正确(即我们在 6:01 而不是 6:00 创建事件),则需要调整开始时间
  4. 发送 POST 请求以更新开始和结束时间

到目前为止,我已经毫无问题地完成了 1-3,我的问题是第 4 个。我有一个事件列表,我已经修改了时间并创建了发布请求,但是,它总是返回一个“未找到”响应,我完全感到困惑。

这是我在请求事件列表时得到的部分响应:

[1] => stdClass Object
(
[kind] => calendar#event
[etag] => "ZrhdJMCgpoUK_a5fT7XOC6xn46g/Z2NhbDAwMDAxMzU4NjE3MzM1NDE1MDAw"
[id] => dbqcfrdvkm40tnuvbk46mv1ktg
[status] => confirmed
[htmlLink] => ########################
[created] => 2013-01-19T17:42:15.000Z
[updated] => 2013-01-19T17:42:15.415Z
[summary] => #########################
[description] => ########################
[location] => Traverse City, MI
[creator] => stdClass Object
(
[email] => ######################
)

[organizer] => stdClass Object
(
[email] => ##################################
[displayName] => Kent County
[self] => 1
)

[start] => stdClass Object
(
[dateTime] => 2013-01-19T13:01:00-05:00
[timeZone] => America/New_York
)

[end] => stdClass Object
(
[dateTime] => 2013-01-19T16:01:00-05:00
[timeZone] => America/New_York
)

[recurrence] => Array
(
[0] => RRULE:FREQ=WEEKLY;UNTIL=20130331T000000Z
)

[iCalUID] => ###############################
[sequence] => 0
[attendees] => Array
(
[0] => stdClass Object
(
[email] => ####################
[displayName] => ##############
[responseStatus] => needsAction
)

)

[reminders] => stdClass Object
(
[useDefault] => 1
)

)

如您所见,我正在毫无问题地获取事件 ID,然后我转身使用我刚收到的日历 ID 和事件 ID 创建发布请求

https://www.googleapis.com/calendar/v3/calendars/{CALENDAR ID}/events/dbqcfrdvkm40tnuvbk46mv1ktg?key={API KEY}

这就是我卡住的地方,我得到的唯一响应是“未找到”,即使随请求发送的 header 看起来不错

Array
(
[url] => https://www.googleapis.com/calendar/v3/calendars/{CALENDAR ID}/events/dbqcfrdvkm40tnuvbk46mv1ktg?key={API KEY}
[content_type] => text/html; charset=UTF-8
[http_code] => 404
[header_size] => 360
[request_size] => 485
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.364634
[namelookup_time] => 3.0E-5
[connect_time] => 0.08616
[pretransfer_time] => 1.7E-5
[size_upload] => 105
[size_download] => 9
[speed_download] => 24
[speed_upload] => 287
[download_content_length] => -1
[upload_content_length] => 105
[starttransfer_time] => 0.3646
[redirect_time] => 0
[certinfo] => Array
(
)

[redirect_url] =>
[request_header] => POST /calendar/v3/calendars/{CALENDAR ID}/events/dbqcfrdvkm40tnuvbk46mv1ktg?key={API KEY} HTTP/1.1
Host: www.googleapis.com
Accept: */*
Content-Type: application/json
Authorization: Bearer {SECURITY TOKEN}, X-JavascriptUser-Agent: HiddenOnes
Content-Length: 105
)

如果我去 Google 开发者中心并使用 Events:update 测试区,这是生成的 url:

https://www.googleapis.com/calendar/v3/calendars/{CALENDAR ID}/events/dbqcfrdvkm40tnuvbk46mv1ktg?key={YOUR_API_KEY}

如果我从那里测试它,它工作得很好,所以我现在完全被难住了,所以欢迎任何有效、有用的想法。

最佳答案

我会说您的 {CALENDAR ID} 无效。你从哪里得到这个值(value)?

也可以使用默认为用户主日历的“primary”日历 ID。

此外,更新事件时,您应该使用 PUT HTTP 动词 https://developers.google.com/google-apps/calendar/v3/reference/events/update

关于google-calendar-api - Google Calendar API v3 在更新事件时返回 "Not Found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com