Thursday, May 23, 2024
 Popular · Latest · Hot · Upcoming
36
rated 0 times [  38] [ 2]  / answers: 1 / hits: 24040  / 12 Years ago, fri, november 30, 2012, 12:00:00

I'm trying to access a public calendar (from Google Calendar) that contains national holidays:



calendarId: 'pt_br.brazilian#[email protected]'


As the calendar is public, I thought I would be able to access it using only the API Key:



function OnLoadCallback() {
var config = {
client_id: '32j4lk32j5kj342l5h.googleuser.com', //fake client id
scope: 'https://www.googleapis.com/auth/calendar.readonly'
};
gapi.client.setApiKey('fId345AM20HXXXXXXXXXXXXXXXXgT3f9kyp2REfkaw2'); //fake api key
gapi.client.load('calendar', 'v3', function() {
var today = new Date(),
request;

request = gapi.client.calendar.calendarList.get({
calendarId: 'pt_br.brazilian#[email protected]',
timeMin: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 0, 0, 0, 0)).toISOString(),
timeMax: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 23, 59, 59, 999)).toISOString(),
fields: 'items(creator(displayName,email),end,endTimeUnspecified,start,summary)'
});

request.execute(function(response) {
window.alert('length of items: ' + response.items.length);
});

});
}


However, I keep getting the following response, which is a 401 (unauthorized) error:



{
error: {
errors: [
{
domain: global,
reason: required,
message: Login Required,
locationType: header,
location: Authorization
}
],
code: 401,
message: Login Required
}
}


Can someone clarify whether what I'm trying to do is achievable or not?

And finally if it is possible - what do I have to change referring to my current code?


More From » google-api

 Answers
49

I was able to do the same thing using jQuery.



var mykey = 'your_api_key'; // typically like Gtg-rtZdsreUr_fLfhgPfgff
var calendarid = 'you_calendar_id'; // will look somewhat like [email protected]

$.ajax({
type: 'GET',
url: encodeURI('https://www.googleapis.com/calendar/v3/calendars/' + calendarid+ '/events?key=' + mykey),
dataType: 'json',
success: function (response) {
//do whatever you want with each
},
error: function (response) {
//tell that an error has occurred
}
});


However you need to be sure you have done the following:-






1) Register a project at https://code.google.com/apis/console

2) Generate a Simple API Access key

3) Ensure Calendar API is activated under services.



Read more at https://developers.google.com/google-apps/calendar/firstapp


[#81683] Thursday, November 29, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
gabriel

Total Points: 323
Total Questions: 107
Total Answers: 108

Location: Federated States of Micronesia
Member since Sun, May 16, 2021
3 Years ago
;