使用Javascript在Google日历中创建新活动 - Chrome扩展程序 - Google Calendar API - Gdata

时间:2014-02-23 07:45:18

标签: javascript html api google-chrome-extension google-calendar-api

我目前正在尝试制作一个在用户的默认日历中插入事件的Chrome扩展程序。但是,我遇到了一些问题。

首先,当我尝试运行我的脚本时,它说我必须在同一个域的HTML文件中包含一个图像。但是,当我这样做时(我将图像放在与其他.html和.js文件相同的文件夹中),它表示图像必须来自HTTPS源而不是HTTP。

其次,当我尝试插入事件时,我收到一条错误消息:

Refused to execute inline event handler because it violates the following Content
Security Policy directive: "script-src 'self'
https://www.google.com/calendar/feeds/default/private/full
https://www.google.com/jsapi
https://www.google.com/calendar/feeds/iskl.edu.my_7fqt0f2sj8odprhnalgdsa1a5k@group.calendar.google.com/public/full
https://www.google.com/uds/?file=gdata&v=2.x".

问题是我已经包含了一些应该允许的来源,我不确定我还缺少什么?

过去几周我一直遇到这个问题。任何帮助将非常感激。如果有任何其他方式插入活动,请告诉我(它必须使用JavaScript和Chrome扩展程序)。

1 个答案:

答案 0 :(得分:0)

我明白了。我刚刚将内容安全策略参数更改为

"script-src 'self' https://www.google.com/*

以便允许来自www.google.com和子站点区域的所有来源。

此外,我没有使用内联事件处理程序,而是将按钮更改为:

<button type="button" class="button">CREATE NEW EVENT</button><br><br>

然后在我的javascript文件中添加:

$('.button').bind('click', createNewEvent());

所有这些,而不是:

<button type="button" class="button" onclick="createNewEvent()">CREATE NEW EVENT</button><br><br>