У меня есть пара вопросов в 1.
Вот код, который я использую:
weather.service.ts:
'
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Accept', 'application/json');
@Injectable({
providedIn: 'root'
})
export class WeatherService {
constructor(private _http: HttpClient) { }
dailyForcast() {
return this._http.get('http://history.openweathermap.org/data/2.5/history/city?q=London,UK', {headers})
.pipe(map(result => result));
}
}
`
Тогда у меня естькомпонент:
import { WeatherService } from './../../weather.service';
import { Chart } from 'chart.js';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-backtesting',
templateUrl: './backtesting.component.html',
styleUrls: ['./backtesting.component.css']
})
export class BacktestingComponent implements OnInit {
LineChart = [];
constructor( private _weather: WeatherService) { }
ngOnInit() {
this._weather.dailyForcast()
.subscribe(res => {
console.log(res);
});
}
}
Тогда у нас есть ошибка:
ERROR Object { headers: Object, status: 401, statusText: "Unauthorized", url: "http://history.openweathermap.org/d…", ok: false, name: "HttpErrorResponse", message: "Http failure response for http://hi…", error: Object }
Эта ошибка кажется неуместной.По вышеуказанной ссылке мы можем без проблем получить информацию о json.
Вот вывод по вышеуказанной ссылке.Все это тест для следующей части, построение графиков этих данных с помощью chartjs.Для просмотра не требуется никаких учетных данных.Я планирую использовать 2 API.1 требует аутентификации, другой - нет.
{"message":"","cod":"200","city_id":2643743,"calctime":0.0875,"cnt":3,"list":[{"main":{"temp":279.946,"temp_min":279.946,"temp_max":279.946,"pressure":1016.76,"sea_level":1024.45,"grnd_level":1016.76,"humidity":100},"wind":{"speed":4.59,"deg":163.001},"clouds":{"all":92},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"rain":{"3h":2.69},"dt":1485717216},{"main":{"temp":282.597,"temp_min":282.597,"temp_max":282.597,"pressure":1012.12,"sea_level":1019.71,"grnd_level":1012.12,"humidity":98},"wind":{"speed":4.04,"deg":226},"clouds":{"all":92},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"rain":{"3h":0.405},"dt":1485745061},{"main":{"temp":279.38,"pressure":1011,"humidity":93,"temp_min":278.15,"temp_max":280.15},"wind":{"speed":2.6,"deg":30},"clouds":{"all":90},"weather":[{"id":701,"main":"Mist","description":"mist","icon":"50d"},{"id":741,"main":"Fog","description":"fog","icon":"50d"}],"dt":1485768552}]}
Я пытаюсь понять, почему произошла эта ошибка и что за исправление.Я также ищу ресурсы на chartjs и вызываю API со службой на angular 6. Я прошел через многие учебные пособия, и все они, похоже, не дотягивают до моих решений.
Заранее спасибо!