How to get Google API access:

ASP.Net application

In the code below, first set your Client ID and Redirect URI. I have provided an example to show the logged in username and profile image, you can use it in any other way also. In the function getUserInfo(), you can get the results as username, email and and so on.

jQuery Link: jQuery.js

  1. <HTML>
  2. <Head>
  3. <script src="jquery.js" temp_src="jquery.js" type="text/javascript"></script>
  4. <script language="javascript" type="text/javascript">
  5. var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?';
  6. var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=';
  7. var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email';
  8. var CLIENTID = '132264420893-na047nu1sif8dn1p6qaug895feu2lqbp.apps.googleusercontent.com';
  9. var REDIRECT = 'http://localhost/googleplus/Test.aspx';
  10. var LOGOUT = 'http://accounts.google.com/Logout';
  11. var TYPE = 'token';
  12. var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE;
  13. var acToken;
  14. var tokenType;
  15. var expiresIn;
  16. var user;
  17. var loggedIn = false;
  18. function login()
  19. {
  20. var win = window.open(_url, "windowname1", 'width=800, height=600');
  21. var pollTimer = window.setInterval(function () {
  22. try
  23. {
  24. console.log(win.document.URL);
  25. if (win.document.URL.indexOf(REDIRECT) != -1)
  26. {
  27. window.clearInterval(pollTimer);
  28. var url = win.document.URL;
  29. acToken = gup(url, 'access_token');
  30. tokenType = gup(url, 'token_type');
  31. expiresIn = gup(url, 'expires_in');
  32. win.close();
  33. validateToken(acToken);
  34. }
  35. }
  36. catch (e)
  37. {
  38. }
  39. }, 500);
  40. }
  41. function validateToken(token)
  42. {
  43. $.ajax(
  44. {
  45. url: VALIDURL + token,
  46. data: null,
  47. success: function (responseText)
  48. {
  49. getUserInfo();
  50. loggedIn = true;
  51. $('#loginText').hide();
  52. $('#logoutText').show();
  53. },
  54. dataType: "jsonp"
  55. });
  56. }
  57. function getUserInfo()
  58. {
  59. $.ajax({
  60. url: 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + acToken,
  61. data: null,
  62. success: function (resp)
  63. {
  64. user = resp;
  65. console.log(user);
  66. $('#uName').text('Welcome ' + user.name);
  67. $('#imgHolder').attr('src', user.picture);
  68. },
  69. dataType: "jsonp"
  70. });
  71. }
  72. //credits: http://www.netlobo.com/url_query_string_javascript.html
  73. function gup(url, name)
  74. {
  75. namename = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  76. var regexS = "[\\#&]" + name + "=([^&#]*)";
  77. var regex = new RegExp(regexS);
  78. var results = regex.exec(url);
  79. if (results == null)
  80. return "";
  81. else
  82. return results[1];
  83. }
  84. function startLogoutPolling()
  85. {
  86. $('#loginText').show();
  87. $('#logoutText').hide();
  88. loggedIn = false;
  89. $('#uName').text('Welcome ');
  90. $('#imgHolder').attr('src', 'none.jpg');
  91. }
  92. </script>
  93. </Head>
  94. <body>
  95. <a href='#' onClick='login();' id="loginText"'> Google Plus </a>
  96. <a href="#" temp_href="#" style="display:none" id="logoutText" target='myIFrame' onclick="myIFrame.location='https://www.google.com/accounts/Logout'; startLogoutPolling();return false;"> Click here to logout </a>
  97. <iframe name='myIFrame' id="myIFrame" style='display:none'></iframe>
  98. <div id='uName'></div>
  99. <img src='' id='imgHolder'/>
  100. </body>
  101. </HTML>