Angular 4无法授权API
我正在建设一个Angular 4项目,并希望它连接到手写体.io API 我的问题是如何进行秘密和密钥授权?我从未使用过需要身份验证的API,所以我有点不知所措。 我不断地犯未经授权的错误。 如何使用密钥和密码连接到API 到目前为止,我的代码是:Angular 4无法授权API,angular,authorization,token,secret-key,Angular,Authorization,Token,Secret Key,我正在建设一个Angular 4项目,并希望它连接到手写体.io API 我的问题是如何进行秘密和密钥授权?我从未使用过需要身份验证的API,所以我有点不知所措。 我不断地犯未经授权的错误。 如何使用密钥和密码连接到API 到目前为止,我的代码是: import { HandWriteAPIPage } from './../../e2e/app.po'; import { Component } from '@angular/core'; import { Http, Response, He
import { HandWriteAPIPage } from './../../e2e/app.po';
import { Component } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
private apiKey: string = '2ND4YD74W5Y5Z8NC';
private apiSecret: string = '65T65J5V850RWEHE';
private apiURL: string = 'https://api.handwriting.io/handwritings'
data: any = {};
constructor(private http: Http){
this.getData();
this.getHandWrite();
}
getData(){
return this.http.get(this.apiURL)
.map(res => res.json());
}
getHandWrite(){
this.getData().subscribe(data => {
console.log(data);
});
}
对手写API的API请求需要在每个请求中附加一个基本授权标头。在发出请求之前,您必须将这些凭据附加到标头 Angular在Http模块中有一个类,可用于实现设置自定义头/授权: 您的代码可能如下所示:
import { HandWriteAPIPage } from './../../e2e/app.po';
import { Component } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
private apiKey: string = '2ND4YD74W5Y5Z8NC';
private apiSecret: string = '65T65J5V850RWEHE';
private apiURL: string = 'https://api.handwriting.io/handwritings'
data: any = {};
constructor(private http: Http){
this.getData();
this.getHandWrite();
}
getData(){
let headers: Headers = new Headers();
headers.append("Authorization", "Basic " + btoa(this.apiKey + ":" + this.apiSecret));
return this.http.get(this.apiURL, {
headers: headers
})
.map(res => res.json());
}
getHandWrite(){
this.getData().subscribe(data => {
console.log(data);
});
}
您可能希望在此服务中用单独的方法设置标头。但是我希望这会有所帮助。您对手写API的API请求需要在每个请求中附加一个基本的授权头。在发出请求之前,您必须将这些凭据附加到标头 Angular在Http模块中有一个类,可用于实现设置自定义头/授权: 您的代码可能如下所示:
import { HandWriteAPIPage } from './../../e2e/app.po';
import { Component } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
private apiKey: string = '2ND4YD74W5Y5Z8NC';
private apiSecret: string = '65T65J5V850RWEHE';
private apiURL: string = 'https://api.handwriting.io/handwritings'
data: any = {};
constructor(private http: Http){
this.getData();
this.getHandWrite();
}
getData(){
let headers: Headers = new Headers();
headers.append("Authorization", "Basic " + btoa(this.apiKey + ":" + this.apiSecret));
return this.http.get(this.apiURL, {
headers: headers
})
.map(res => res.json());
}
getHandWrite(){
this.getData().subscribe(data => {
console.log(data);
});
}
您可能希望在此服务中用单独的方法设置标头。但我希望这会有所帮助。最后,解决此问题后,您可能希望更改API密钥;)最后,您可能希望在解决此问题后更改API密钥;)