我正在使用google日历的API来显示我公司日历的精简版本。我希望任何人都可以在我的网站上查看我的日历版本。目前,只有我可以查看日历页面,如果我要与任何人共享页面URL,它将无法工作-他们不能查看任何内容。
我在这里使用的是Google的起始代码:
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文档中找到任何东西。
发布于 2016-09-23 16:49:28
您不需要像示例那样启动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.');
}
});
}https://stackoverflow.com/questions/34687286
复制相似问题