You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
events.list finds no entries in public calendars.
I have the calandar with id de.german#[email protected] in my calendarlist. events.list for this id returns with error: Not Found.
For the calandar with id #[email protected] comes no error but no entries.
`var fs = require('fs');
var readline = require('readline');
var google = require('googleapis');
var googleAuth = require('google-auth-library');
// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/calendar-nodejs-quickstart.json
var SCOPES = ['https://www.googleapis.com/auth/calendar.readonly'];
var TOKEN_DIR = '';
var TOKEN_PATH = TOKEN_DIR + 'authToken.json';
// Load client secrets from a local file.
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
// Authorize a client with the loaded credentials, then call the
// Google Calendar API.
authorize(JSON.parse(content), listCalendars);
});
/**
Create an OAuth2 client with the given credentials, and then execute the
given callback function.
*
@param {Object} credentials The authorization client credentials.
@param {function} callback The callback to call with the authorized client.
*/
function authorize(credentials, callback) {
var clientSecret = credentials.installed.client_secret;
var clientId = credentials.installed.client_id;
var redirectUrl = credentials.installed.redirect_uris[0];
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
// Check if we have previously stored a token.
fs.readFile(TOKEN_PATH, function(err, token) {
if (err) {
getNewToken(oauth2Client, callback);
} else {
oauth2Client.credentials = JSON.parse(token);
callback(oauth2Client);
}
});
}
/**
Get and store new token after prompting for user authorization, and then
execute the given callback with the authorized OAuth2 client.
*
@param {google.auth.OAuth2} oauth2Client The OAuth2 client to get token for.
@param {getEventsCallback} callback The callback to call with the authorized
client.
*/
function getNewToken(oauth2Client, callback) {
var authUrl = oauth2Client.generateAuthUrl({
access_type: 'offline',
scope: SCOPES
});
console.log('Authorize this app by visiting this url: ', authUrl);
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter the code from that page here: ', function(code) {
rl.close();
oauth2Client.getToken(code, function(err, token) {
if (err) {
console.log('Error while trying to retrieve access token', err);
return;
}
oauth2Client.credentials = token;
storeToken(token);
callback(oauth2Client);
});
});
}
/**
Store token to disk be used in later program executions.
*
@param {Object} token The token to store to disk.
*/
function storeToken(token) {
try {
fs.mkdirSync(TOKEN_DIR);
} catch (err) {
if (err.code != 'EEXIST') {
throw err;
}
}
fs.writeFile(TOKEN_PATH, JSON.stringify(token));
console.log('Token stored to ' + TOKEN_PATH);
}
var listCalendars = function(auth)
{
var api = google.calendar('v3');
api.calendarList.list({
auth: auth
}, function(err, response)
{
if (err)
{
console.log('The API returned an error: ' + err);
}
else
{
var calendars = response.items;
if (calendars.length > 0)
{
calendars.forEach(function(calendar)
{
listUpcomingEvents(calendar.id, auth)
});
}
}
});
}
function listUpcomingEvents(id, auth)
{
var api = google.calendar('v3');
api.events.list({
auth: auth,
calendarId: id
}, function(err, response)
{
console.log("==>", id);
if (err)
{
console.log(err, id);
}
else
{
if (!response.items || response.items.length == 0)
{
console.log('No upcoming events found.');
}
else
{
for (var e in response.items)
{
console.log("---------------------------");
console.log(response.items[e]);
}
}
}
});
}`
events.list finds no entries in public calendars.
I have the calandar with id de.german#[email protected] in my calendarlist. events.list for this id returns with error: Not Found.
For the calandar with id #[email protected] comes no error but no entries.
`var fs = require('fs');
var readline = require('readline');
var google = require('googleapis');
var googleAuth = require('google-auth-library');
// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/calendar-nodejs-quickstart.json
var SCOPES = ['https://www.googleapis.com/auth/calendar.readonly'];
var TOKEN_DIR = '';
var TOKEN_PATH = TOKEN_DIR + 'authToken.json';
// Load client secrets from a local file.
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
// Authorize a client with the loaded credentials, then call the
// Google Calendar API.
authorize(JSON.parse(content), listCalendars);
});
/**
Create an OAuth2 client with the given credentials, and then execute the
given callback function.
*
@param {Object} credentials The authorization client credentials.
@param {function} callback The callback to call with the authorized client.
*/
function authorize(credentials, callback) {
var clientSecret = credentials.installed.client_secret;
var clientId = credentials.installed.client_id;
var redirectUrl = credentials.installed.redirect_uris[0];
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
// Check if we have previously stored a token.
fs.readFile(TOKEN_PATH, function(err, token) {
if (err) {
getNewToken(oauth2Client, callback);
} else {
oauth2Client.credentials = JSON.parse(token);
callback(oauth2Client);
}
});
}
/**
*
function getNewToken(oauth2Client, callback) {
var authUrl = oauth2Client.generateAuthUrl({
access_type: 'offline',
scope: SCOPES
});
console.log('Authorize this app by visiting this url: ', authUrl);
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter the code from that page here: ', function(code) {
rl.close();
oauth2Client.getToken(code, function(err, token) {
if (err) {
console.log('Error while trying to retrieve access token', err);
return;
}
oauth2Client.credentials = token;
storeToken(token);
callback(oauth2Client);
});
});
}
/**
*
*/
function storeToken(token) {
try {
fs.mkdirSync(TOKEN_DIR);
} catch (err) {
if (err.code != 'EEXIST') {
throw err;
}
}
fs.writeFile(TOKEN_PATH, JSON.stringify(token));
console.log('Token stored to ' + TOKEN_PATH);
}
var listCalendars = function(auth)
{
var api = google.calendar('v3');
api.calendarList.list({
auth: auth
}, function(err, response)
{
if (err)
{
console.log('The API returned an error: ' + err);
}
else
{
var calendars = response.items;
if (calendars.length > 0)
{
calendars.forEach(function(calendar)
{
listUpcomingEvents(calendar.id, auth)
});
}
}
});
}
function listUpcomingEvents(id, auth)
{
var api = google.calendar('v3');
api.events.list({
auth: auth,
calendarId: id
}, function(err, response)
{
console.log("==>", id);
if (err)
{
console.log(err, id);
}
else
{
if (!response.items || response.items.length == 0)
{
console.log('No upcoming events found.');
}
else
{
for (var e in response.items)
{
console.log("---------------------------");
console.log(response.items[e]);
}
}
}
});
}`
Result:
`==> #[email protected]
No upcoming events found.
==> de.german#[email protected]
{ [Error: Not Found]
code: 404,
errors: [ { domain: 'global', reason: 'notFound', message: 'Not Found' } ] } 'de.german#holiday@gr
==> e_2_de#[email protected]
{ [Error: Not Found]
code: 404,
errors: [ { domain: 'global', reason: 'notFound', message: 'Not Found' } ] } 'e_2_de#weeknum@group
==> my primary callendar id
... all my entrys in my primary callendar
==> another not public callendar id
... all entrys in this callendar
`
The text was updated successfully, but these errors were encountered: