如何使用 Fetch API 获取包含 # 的 URL?
How to fetch a URL containing a # with Fetch API?
我正在使用 Google 日历 API 并且要获取日历的事件,您必须向 https://www.googleapis.com/calendar/v3/calendars/calendarId/events 端点发送 GET 请求。
问题是 calendarId
可能包含一个 #
就像在 addressbook#contacts@group.v.calendar.google.com
中以及当我获取 https://www.googleapis.com/calendar/v3/calendars/addressbook#contacts@group.v.calendar.google.com/events, it's only actually fetching https://www.googleapis.com/calendar/v3/calendars/addressbook 时,即 URL 之前的部分#
(我在 Chrome 网络选项卡中看到它,我只是在控制台中得到 GET https://www.googleapis.com/calendar/v3/calendars/addressbook 404
)
那么如何强制 fetch() 方法使用整个 URL?
您可能需要 percent-encode calendarId
:
> encodeURIComponent("addressbook#contacts@group.v.calendar.google.com")
"addressbook%23contacts%40group.v.calendar.google.com"
我正在使用 Google 日历 API 并且要获取日历的事件,您必须向 https://www.googleapis.com/calendar/v3/calendars/calendarId/events 端点发送 GET 请求。
问题是 calendarId
可能包含一个 #
就像在 addressbook#contacts@group.v.calendar.google.com
中以及当我获取 https://www.googleapis.com/calendar/v3/calendars/addressbook#contacts@group.v.calendar.google.com/events, it's only actually fetching https://www.googleapis.com/calendar/v3/calendars/addressbook 时,即 URL 之前的部分#
(我在 Chrome 网络选项卡中看到它,我只是在控制台中得到 GET https://www.googleapis.com/calendar/v3/calendars/addressbook 404
)
那么如何强制 fetch() 方法使用整个 URL?
您可能需要 percent-encode calendarId
:
> encodeURIComponent("addressbook#contacts@group.v.calendar.google.com")
"addressbook%23contacts%40group.v.calendar.google.com"