[英]Google Calendar API Javascript - Add event formatting
我对任何种类的Google API都是陌生的,并且对代码而言相对较新。 我正在尝试创建一个网站,使我可以从复选框列表中选择多天,并在这些天为我创建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”替换“资源”的内容时,此方法不起作用。
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警报结果看起来像是按照样板代码的格式正确格式化了数据,但是它没有用。 (照片在这里->) 警报(t1)结果
我尝试了此处讨论的批处理方法,但也无法使该方法起作用。 Google Calendar JavaScript API-添加多个事件
谢谢你的帮助。
我已经解决了这个问题。 在此问题之前,我没有意识到我可以使用开发人员控制台在浏览器中“调试”。 发现开发人员控制台后,我能够逐步解决所遇到的几个小问题,并将其解决。
我遇到的主要问题是Google日历似乎不喜欢我使用的日期格式,其中dateTime字符串中包含时区偏移量。 通过将其分离出来,并将其作为时区区域分别插入,我获得了成功。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.