4

I'm trying to use Google Calendar API via JavaScript and keep getting the 401 error response while using the following code:

$.ajax({ 
   dataType: "json", 
   url: "https://www.googleapis.com/calendar/v3/users/me/calendarList/<calendarID>?key=<my api key>", 
   success: function(result){ 
   $('#result').html(result); 
   } 
});

Is there something wrong in my usage of the API and how should I use the oAuth? I already have a clientID and secretID from the Google console but don't know how to use those.

Thanks.

Axel
  • 3,331
  • 11
  • 35
  • 58
Joe Saad
  • 1,940
  • 3
  • 22
  • 32
  • I don't think you can simply call that API like this because Google wants the user to manually authorize the access. Paste your url into browser and see what happens. – Allen King Aug 28 '14 at 22:13
  • I know I may be missing something with authentication. Pasting the url, i get the following: { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Login Required" } } – Joe Saad Aug 28 '14 at 22:18
  • The way this API works is that first you use a different url that is provided by Google API and pass in your api key and return url. That url then first redirects to login page, then authorization page. In the return url you get a token that you can use in REST api to retrieve data. Check Google documentation. – Allen King Aug 29 '14 at 02:15
  • I'm using the url that is being generated from this tool provided by google, https://developers.google.com/google-apps/calendar/v3/reference/calendarList/get there, you enter your ID and it gets you the URL.I checked google documentation and have been in it for few days now, do you recommend a certain page to read again? Thanks! – Joe Saad Aug 29 '14 at 15:22

2 Answers2

4

Here's the answer after quite a bit of research, I just found and used this guide for using google calendar api http://googleappsdeveloper.blogspot.com/2011/12/using-new-js-library-to-unlock-power-of.html

Then I still was confused since the api key wasn't working every I tried regenerating it a couple of times. Then I had to use the browser key without any referrers just as mentioned here: Getting Error 403: Access Not Configured. Please use Google Developers Console to activate the API for your project

and finally I got everything working.

Here's also a main article for understanding the OAuth2 https://developers.google.com/accounts/docs/OAuth2

Community
  • 1
  • 1
Joe Saad
  • 1,940
  • 3
  • 22
  • 32
2

In order to use Google Calendar API, you not only need the client ID and client secret but in most cases (other than accessing public calendars) you also need to have your user authenticated. One way to achieve that is using Oauth2.

I recommend using the client library that you can download here: https://developers.google.com/google-apps/calendar/downloads

Also there is an example on how to use the library here: https://developers.google.com/api-client-library/javascript/samples/samples

luc
  • 3,642
  • 1
  • 18
  • 21
  • thanks for the articles, i still got things unclear with it getting 403 errors instead. I just posted the answer. – Joe Saad Sep 03 '14 at 18:55