Библиотека Typescript для использования API StromGedacht
Доступно на npm.
npm install ts-stromgedacht
Клиент может предоставить состояние региона на текущий момент или все состояния за заданный период времени.
Этот период может продлиться максимум на 2 дня в будущее и на 4 дня в прошлое.
Каждый раз, когда вы делаете запрос, вам нужно будет указать почтовый индекс региона, для которого вы хотите запросить штат.
Поскольку API разрешает все источники, эту библиотеку можно использовать в браузере без ошибок CORS.
Просто импортируйте клиент из вашего node_modules.
import { stromgedachtClient } from "ts-stromgedacht" ;
Вы можете получить текущее состояние региона, вызвав метод Now
и передав почтовый индекс региона.
const state = await stromgedachtClient . now ( "70173" ) ;
Если API возвращает ошибку, этот метод возвращает null
. Это может произойти, если почтовый индекс недействителен/не поддерживается.
Вы можете получить все штаты региона за определенный период времени, вызвав метод States
и передав почтовый индекс региона, время начала и время окончания.
const from = new Date ( "2023-01-01" ) ;
const to = new Date ( "2023-01-03" ) ;
const states = stromgedachtClient . states ( "70173" , from , to ) ;
Время начала и окончания также может быть в часах относительно этого момента:
const hoursInPast = 24 ;
const hoursInFuture = 48 ;
const states = stromgedachtClient . statesRelative ( "70173" , hoursInPast , hoursInFuture ) ;
Если API возвращает ошибку, этот метод возвращает пустой массив. Это может произойти, если почтовый индекс недействителен/не поддерживается или истек поддерживаемый период.
Вы можете получить прогноз региона на определенный период времени, вызвав методы forecast
и передав почтовый индекс региона, время начала и время окончания.
const from = new Date ( "2023-01-01" ) ;
const to = new Date ( "2023-01-03" ) ;
const forecast = stromgedachtClient . forecast ( "70173" , from , to ) ;
API ограничен примерно 6 запросами в минуту.
Вот некоторые связанные проекты:
Используемый API предоставлен StromGedacht, TransnetBW GmbH.