Google 日历 API Javascript - 添加事件格式
Google Calendar API Javascript - Add event formatting
我对任何类型的 Google API 都是全新的,并且对一般代码来说相对较新。我正在尝试制作一个网站,允许我从复选框列表中 select 多天,并在那些日子为我创建 Google 日历事件。
我正在使用 ASP.net 网页进行显示和复选框逻辑,并将复选框结果作为 JSON 发送到 Javascript。然后在 Javascript.
中处理 JSON 和 google 日历内容
只需从一些示例中复制样板代码,我就能够通过 Google 进行身份验证,并使用硬编码的事件详细信息成功地将事件添加到我的日历中。当我尝试使用变量而不是硬编码详细信息填充事件详细信息时,问题就开始了。
我相信我已经非常接近让它正常工作了,只是有一些小的格式问题导致它无法正常工作。
这适用于 "var resource"
中的硬编码细节
function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "{\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end) + "}";
gapi.client.load('calendar', 'v3', function () {
var resource = {
"summary": "Appointment",
"location": "Somewhere",
"start": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
},
"end": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': resource
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
当我尝试用我创建的详细信息 "t1" 替换 "resource" 的内容时,这不起作用。
function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end);
gapi.client.load('calendar', 'v3', function () {
var resource = { t1
// "summary": "Appointment",
// "location": "Somewhere",
// "start": {
// "dateTime": "2017-05-29T10:00:00.000-07:00"
// },
// "end": {
// "dateTime": "2017-05-29T10:00:00.000-07:00"
// }
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': resource
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
这也不起作用,我只是将 "var request" "resource" 部分替换为 "t1"。
function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "{\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end) + "}";
gapi.client.load('calendar', 'v3', function () {
var resource = {
"summary": "Appointment",
"location": "Somewhere",
"start": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
},
"end": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': t1
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
为了调试,我一直在发出警报,t1 警报结果看起来好像我已经完全按照样板代码格式化数据,但它不起作用。 (照片在这里->)
alert(t1) result
我尝试了此处讨论的批处理方法,但也无法正常工作。 Google Calendar javascript api - Add multiple events
感谢您的帮助。
我已经解决了这个问题。在此问题之前,我不知道我可以在浏览器中使用开发者控制台 "debug"。在发现开发人员控制台后,我能够逐步解决我遇到的几个小问题并解决它。
我遇到的主要问题是 Google Calendar 似乎不喜欢我使用的日期格式,其中时区偏移量包含在 dateTime 字符串中。通过将其分离出来并将其作为时区区域单独插入,我取得了成功。
我对任何类型的 Google API 都是全新的,并且对一般代码来说相对较新。我正在尝试制作一个网站,允许我从复选框列表中 select 多天,并在那些日子为我创建 Google 日历事件。
我正在使用 ASP.net 网页进行显示和复选框逻辑,并将复选框结果作为 JSON 发送到 Javascript。然后在 Javascript.
中处理 JSON 和 google 日历内容只需从一些示例中复制样板代码,我就能够通过 Google 进行身份验证,并使用硬编码的事件详细信息成功地将事件添加到我的日历中。当我尝试使用变量而不是硬编码详细信息填充事件详细信息时,问题就开始了。
我相信我已经非常接近让它正常工作了,只是有一些小的格式问题导致它无法正常工作。
这适用于 "var resource"
中的硬编码细节function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "{\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end) + "}";
gapi.client.load('calendar', 'v3', function () {
var resource = {
"summary": "Appointment",
"location": "Somewhere",
"start": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
},
"end": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': resource
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
当我尝试用我创建的详细信息 "t1" 替换 "resource" 的内容时,这不起作用。
function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end);
gapi.client.load('calendar', 'v3', function () {
var resource = { t1
// "summary": "Appointment",
// "location": "Somewhere",
// "start": {
// "dateTime": "2017-05-29T10:00:00.000-07:00"
// },
// "end": {
// "dateTime": "2017-05-29T10:00:00.000-07:00"
// }
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': resource
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
这也不起作用,我只是将 "var request" "resource" 部分替换为 "t1"。
function makeApiCall3() {
for (var i = 0; i < arrayOfEvents.length; i++)
{
var t1 = "{\"summary\":\"" + arrayOfEvents[i].summary + "\", \"start\":" + JSON.stringify(arrayOfEvents[i].start) + ", \"end\":" + JSON.stringify(arrayOfEvents[i].end) + "}";
gapi.client.load('calendar', 'v3', function () {
var resource = {
"summary": "Appointment",
"location": "Somewhere",
"start": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
},
"end": {
"dateTime": "2017-05-29T10:00:00.000-07:00"
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': t1
});
request.execute(function (resp) {
console.log(resp);
});
alert(t1);
});
}
alert("End of Calendar Call");
}
为了调试,我一直在发出警报,t1 警报结果看起来好像我已经完全按照样板代码格式化数据,但它不起作用。 (照片在这里->) alert(t1) result
我尝试了此处讨论的批处理方法,但也无法正常工作。 Google Calendar javascript api - Add multiple events
感谢您的帮助。
我已经解决了这个问题。在此问题之前,我不知道我可以在浏览器中使用开发者控制台 "debug"。在发现开发人员控制台后,我能够逐步解决我遇到的几个小问题并解决它。
我遇到的主要问题是 Google Calendar 似乎不喜欢我使用的日期格式,其中时区偏移量包含在 dateTime 字符串中。通过将其分离出来并将其作为时区区域单独插入,我取得了成功。