I'm struggling to capture URL query string parameters being passed to my angular2 app by a 3rd party API. The URL reads http://example.com?oauth_token=123
How can I capture the value of "oauth_token" inside a component? I'm happily using the component router for basic routing it's just the query string. I have made several attempts and my latest receiving component looks like
import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @Component({ template: '' }) export class TwitterAuthorisedComponent implements OnInit { private oauth_token:string; constructor(private route: ActivatedRoute) {} ngOnInit() { console.log('the oauth token is'); console.log( this.route.snapshot.params.oauth_token ); } } Any advice is appreciated.
** UPDATE
If I comment out all my routes the query parameters will stick however, the moment I include a route the query parameters are removed on page load. Below is a stripped down copy of my routes file with one route
import {NavigationComponent} from "./navigation/components/navigation.component"; import {TwitterAuthorisedComponent} from "./twitter/components/twitter-authorised.component"; import { provideRouter, RouterConfig } from '@angular/router'; export const routes: RouterConfig = [ { path: '', component: TwitterAuthorisedComponent } ]; export const appRouterProviders = [ provideRouter(routes) ]; If I remove the route the query params stick. Any advice?