如何从URL获取访问令牌

use*_*555 13 javascript url jquery uri

在我通过Google身份验证后,我收到了此网址

http://localhost:3000/_oauth/google#access_token=ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw&token_type=Bearer&expires_in=3600
Run Code Online (Sandbox Code Playgroud)

如何access_token从这个网址获取价值?

我在以下网址中尝试了解决方案,其中没有一个正在运行

如何在JavaScript中获取查询字符串值?

如何从GET参数中获取值?

在JavaScript中使用URL的GET参数

Dow*_*oat 12

我喜欢RegEx所以这是一个RegEx答案:

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)\=([\S\s]*?)\&/)[1];
Run Code Online (Sandbox Code Playgroud)

access_token 是:

ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw

(直接来自控制台)

小提琴


Ste*_*n_R 5

利用JS中的URL类:

var token = new URL("http://localhost:3000/_oauth/google#access_token=ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw&token_type=Bearer&expires_in=3600").hash.split('&').filter(function(el) { if(el.match('access_token') !== null) return true; })[0].split('=')[1];

alert(token);
Run Code Online (Sandbox Code Playgroud)