Javascript Google Calendar API将日历设置为公用
Javascript Google Calendar API Set Calendar to Public
我正在使用谷歌日历的API来显示我公司日历的精简版本。我希望任何人都能在我的网站上查看我的日历版本。目前,只有我可以查看日历页面,如果我要与任何人共享页面URL,这是不起作用的——他们什么都看不到。
我在这里使用谷歌的起始代码:
var CLIENT_ID = 'MYID**';
var SCOPES = ["https://www.googleapis.com/auth/calendar.readonly"];
function checkAuth() {
gapi.auth.authorize(
{
'client_id': CLIENT_ID,
'scope': SCOPES,
'immediate': true
}, handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeDiv = document.getElementById('authorize-div');
loadCalendarApi();
}
function handleAuthClick(event) {
gapi.auth.authorize({
client_id: CLIENT_ID,
scope: SCOPES,
immediate: false
}, handleAuthResult);
return false;
}
function loadCalendarApi() {
gapi.client.load('calendar', 'v3', listUpcomingEvents);
}
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
'calendarId': 'iorbmkj57ee8ihnko0va1snif8@group.calendar.google.com',
'timeMin': '2011-06-03T10:00:00-07:00',
'showDeleted': false,
'singleEvents': true,
'maxResults': 1000,
'orderBy': 'startTime'
});
但我似乎找不到在哪里公开这份日历。stackoverflow上的两个例子并没有解释太多,而且我似乎无法将Google的API文档中的任何内容联系起来。
如果您只想共享您的日历,可以将其公开,然后将您的日历共享给所有人。就是这样。
要公开您的日历,您可以按照此网站的步骤进行操作https://support.google.com/calendar/answer/37083?hl=en.
将您的日历公开
在电脑上,打开谷歌日历。
在右上角,单击设置设置齿轮按钮>设置。
打开日历选项卡。
单击要共享的日历的名称。
打开"共享此日历"选项卡。
选中"公开此日历"选项。
如果不希望其他人查看您活动的详细信息,请选择仅查看忙/闲(隐藏详细信息)。
单击"保存"。
然后,您可以使用日历选项中的iframe共享您的日历。https://support.google.com/calendar/answer/41207?hl=en
在您的网站上嵌入日历
在电脑上,打开谷歌日历。你只能从电脑上获得嵌入网站的代码,而不能从移动应用程序上获得。
在右上角,单击设置设置齿轮按钮>设置。
打开日历选项卡。
单击要嵌入的日历的名称。
在"嵌入此日历"部分中,复制显示的iframe代码。
打开您的网站编辑器,然后将此代码粘贴到要显示日历的位置。
日历资源没有任何关于可见性的属性。但是,由于您使用的是"事件"列表,它的资源具有可见性属性,您可以在其中筛选出(尽管是手动的)公共项目。
公共
The event is public and event details are visible to all readers of the calendar.
您不需要像示例那样启动OAuth 2.0授权过程(已弃用)。事实上,您可以使用浏览器API键和日历id:加载日历
function checkAuth() {
//gapi.auth.authorize(
// {
// 'client_id': CLIENT_ID,
// 'scope': SCOPES.join(' '),
// 'immediate': true
// }, handleAuthResult);
gapi.client.setApiKey('browser API key');
handleAuthResult({ error: false });
}
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
'calendarId': 'your calendar id',
'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.');
}
});
}
- 如何正确设置jQuery日历小部件的区域设置
- 如何在c#中使用javascript日历设置值后获得文本框的文本
- 在日历扩展器上设置正确的日期 asp.net
- 设置“完整日历”问题中的默认点击选择突出显示
- 转换日期,以便可以将 jquery 日历值设置为日期
- 如何在 angularjs 的全日历中动态设置许多事件
- Javascript Google Calendar API将日历设置为公用
- rChartsCalendar:通过编程设置嵌套的json属性来配置日历图表
- 设置dojo日历格式
- Jquery完整日历使用循环来动态设置事件
- 是否有一个已知的问题,全日历在Safari上以中文呈现(尽管有语言设置?)
- 在Mozilla浏览器中,如何在文本框上设置日历
- 如何设置当前日期在剑道ui日期拾取器日期视图日历
- 使用javascript动态设置primefaces日历的默认日期
- 如何将Datepicker的日历设置为在任何时候都可见,但也能够采取所选日期
- 刷新页面时,日历中的日期设置回当前日期
- 为YUI日历插件设置时区
- 日历脚本设置的日期不正确(天减一)
- 在 jQuery 周日历中将自定义变量设置为 calEvent
- 如何使用全日历为资源日视图中的所有资源列设置相同的日期