w=11=sh 日历 w=10=sh wz w=12=sh 格式
Google calendar API v3 javascript format
我正在使用新的 Google 日历 API 在网站上创建事件列表,但我在格式化输出时遇到了问题。我遵循了 link 中的教程:
https://developers.google.com/google-apps/calendar/quickstart/js
通过按照教程进行操作,我能够快速 运行 掌握所有内容。我想为我的网站设置事件列表的样式,但不确定如何设置输出格式。在我遵循的教程中,我使用 OAuth 给我一个客户端 ID 而不是 API 密钥。现在在本教程中,事件的输出是用 createTextNode()
.
生成的纯文本块
以上教程中的一部分将日历事件打印到网站:
/**
* Print the summary and start datetime/date of the next ten events in
* the authorized user's calendar. If no events are found an
* appropriate message is printed.
*/
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
'calendarId': 'primary',
'timeMin': (new Date()).toISOString(),
'showDeleted': false,
'singleEvents': true,
'maxResults': 10,
'orderBy': 'startTime'
});
request.execute(function(resp) {
var events = resp.items;
appendPre('Upcoming events:');
if (events.length > 0) {
for (i = 0; i < events.length; i++) {
var event = events[i];
var when = event.start.dateTime;
if (!when) {
when = event.start.date;
}
appendPre(event.summary + ' (' + when + ')')
}
} else {
appendPre('No upcoming events found.');
}
});
}
/**
* Append a pre element to the body containing the given message
* as its text node.
*
* @param {string} message Text to be placed in pre element.
*/
function appendPre(message) {
var pre = document.getElementById('output');
var textContent = document.createTextNode(message + '\n');
pre.appendChild(textContent);
}
结果是一个事件列表,其中包含事件标题和 ISO 格式的日期。
问题:如何格式化此信息,使每个事件的标题都在 h1
标签中,而 date/time 将在 h2
标签中,而不是全部一个巨型文本节点中的输出?
此外,我正在使用私人日历。
编辑:
我找到了这个回购协议
https://github.com/MilanKacurak/FormatGoogleCalendar
这看起来与我正在寻找的格式完全一样,但它只适用于 public 日历。有谁知道是否有办法在私人日历上使用类似的东西?
通过更多的挖掘,我找到了一个类似的问题,并能够用它来解决我的问题。
在这个link中,这个问题的答案帮助解决了我的问题。
在这个 link 中它说它适用于 public 日历,但我也可以将它用于我的私人日历。我想我遇到的最大问题是弄清楚如何格式化 api 的响应以包含自定义 css class 名称和样式。如果您知道 different/better 答案,请告诉我。
我正在使用新的 Google 日历 API 在网站上创建事件列表,但我在格式化输出时遇到了问题。我遵循了 link 中的教程: https://developers.google.com/google-apps/calendar/quickstart/js
通过按照教程进行操作,我能够快速 运行 掌握所有内容。我想为我的网站设置事件列表的样式,但不确定如何设置输出格式。在我遵循的教程中,我使用 OAuth 给我一个客户端 ID 而不是 API 密钥。现在在本教程中,事件的输出是用 createTextNode()
.
以上教程中的一部分将日历事件打印到网站:
/**
* Print the summary and start datetime/date of the next ten events in
* the authorized user's calendar. If no events are found an
* appropriate message is printed.
*/
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
'calendarId': 'primary',
'timeMin': (new Date()).toISOString(),
'showDeleted': false,
'singleEvents': true,
'maxResults': 10,
'orderBy': 'startTime'
});
request.execute(function(resp) {
var events = resp.items;
appendPre('Upcoming events:');
if (events.length > 0) {
for (i = 0; i < events.length; i++) {
var event = events[i];
var when = event.start.dateTime;
if (!when) {
when = event.start.date;
}
appendPre(event.summary + ' (' + when + ')')
}
} else {
appendPre('No upcoming events found.');
}
});
}
/**
* Append a pre element to the body containing the given message
* as its text node.
*
* @param {string} message Text to be placed in pre element.
*/
function appendPre(message) {
var pre = document.getElementById('output');
var textContent = document.createTextNode(message + '\n');
pre.appendChild(textContent);
}
结果是一个事件列表,其中包含事件标题和 ISO 格式的日期。
问题:如何格式化此信息,使每个事件的标题都在 h1
标签中,而 date/time 将在 h2
标签中,而不是全部一个巨型文本节点中的输出?
此外,我正在使用私人日历。
编辑: 我找到了这个回购协议 https://github.com/MilanKacurak/FormatGoogleCalendar 这看起来与我正在寻找的格式完全一样,但它只适用于 public 日历。有谁知道是否有办法在私人日历上使用类似的东西?
通过更多的挖掘,我找到了一个类似的问题,并能够用它来解决我的问题。
在这个link中,这个问题的答案帮助解决了我的问题。
在这个 link 中它说它适用于 public 日历,但我也可以将它用于我的私人日历。我想我遇到的最大问题是弄清楚如何格式化 api 的响应以包含自定义 css class 名称和样式。如果您知道 different/better 答案,请告诉我。