Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
130
rated 0 times [  134] [ 4]  / answers: 1 / hits: 34173  / 9 Years ago, wed, april 29, 2015, 12:00:00

I'm getting this URL after I'm authenticated to Google



http://localhost:3000/_oauth/google#access_token=ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw&token_type=Bearer&expires_in=3600


How to get access_token value from this url?



I tried solutions in following urls, none of them are working



How can I get query string values in JavaScript?



How to get the value from the GET parameters?



Using the GET parameter of a URL in JavaScript


More From » jquery

 Answers
3

Using modern ways, there are better, more reliable ways to get access token field:


var urlString = 'http://localhost:3000/_oauth/google#access_token=ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw&token_type=Bearer&expires_in=3600';

var url = new URL(urlString);
// OR: If you want to use the current page's URL
var url = window.location;

var access_token = new URLSearchParams(url.search).get('access_token');

You can also see how this approach makes it easy to get the other parameters in addition. This URLSearchParams approach is supported by all browsers except old instances of IE.




If the above doesn't work (didn't for me) just add 'hash' to window.location, this is also single line code


var access_token = new URLSearchParams(window.location.hash).get('access_token');

Old Answer:


I like RegEx so here's a RegEx answer:


var url = 'http://localhost:3000/_oauth/google#access_token=ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw&token_type=Bearer&expires_in=3600',
access_token = url.match(/#(?:access_token)=([Ss]*?)&/)[1];

access_token is:



ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw



(Directly from the console)


Fiddle


[#66838] Monday, April 27, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
robertjaysona

Total Points: 276
Total Questions: 110
Total Answers: 116

Location: Finland
Member since Sat, Nov 6, 2021
3 Years ago
;