2015-04-29 17 views
9

Tôi nhận được URL này sau khi tôi đang xác thực để GoogleLàm thế nào để có được quyền truy cập token từ url

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

Làm thế nào để có được access_token giá trị từ url này?

tôi đã cố gắng giải quyết trong các url sau, không ai trong số họ đang làm việc

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

Trả lời

5

Tôi thích RegEx vì vậy đây là một câu trả lời 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]; 

access_token là:

ya29.5HxuYol1Io8JLeGePDznbfkkwu_PC4uodKwG8_1clFYAn9AgdOV1WGpOTNQP3s76HAsn7Y4zWw

(Trực tiếp từ giao diện điều khiển)

Fiddle

+0

Tôi yêu Regex quá! Câu trả lời hay –

2

Make sử dụng của lớp URL trong JS:

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);

+1

dường như bao gồm '& token_type' ở cuối – Downgoat

+1

Đã sửa lỗi. Thêm vào một chút gia vị regex và một số lọc peppery mịn –

Các vấn đề liên quan