Anónimo
Hola a todos,
Durante la última semana, he estado tratando de llamar a una API de descanso con epoch o unix time (milisegundos, 13 dígitos) en mis llamadas a la API de descanso, pero no pude encontrar ninguna que pueda reutilizar o consultar. Con suerte, esta publicación ayuda a quienes buscan tales soluciones.
Saludos,
Anand
let
//Define the endDate of the query by converting system date time to EPOCH
UTCDate = Duration.TotalSeconds(DateTimeZone.UtcNow()- #datetimezone(1970,1,1,0,0,0,0,0)),
ConvertUTCDate = Text.From(UTCDate),
RemoveDelimiter = Text.BeforeDelimiter(ConvertUTCDate,"."),
PrefixEpoch = (RemoveDelimiter&"000"),
EndEPOCH = PrefixEpoch,
//Define the startDate of the query by converting system date time to EPOCH
PreviousUTC = DateTimeZone.From(Number.From(DateTimeZone.UtcNow())),
PreviousUTCDate = Date.AddDays(PreviousUTC,-X), //replace -x with days e.g., 60 days prior as startdate
PreviousUTCDateEpoch = Duration.TotalSeconds(PreviousUTCDate - #datetimezone(1970,1,1,0,0,0,0,0)),
ConvertPreviousUTCDate = Text.From(PreviousUTCDateEpoch),
RemoveDelimiterPreviousUTCDate = Text.BeforeDelimiter(ConvertPreviousUTCDate,"."),
PrefixEpochPreviousUTCDate = (RemoveDelimiterPreviousUTCDate&"000"),
StartEPOCH = PrefixEpochPreviousUTCDate,
//Construct the api call with start and end date from earlier step as text as numeric values are not considered for call by default
Custom2 = "SearchURL?QueryID=ID&startDate="& StartEPOCH,
Custom3 = Custom2 & "&endDate=",
Custom4 = Custom3 & EndEPOCH,
//this is the query that will used to get data using API
APIcall = Custom4,
//App Details
client_id = #"API Key", //create parameter to define API Key value
client_secret = #"API Secret", //create parameter to define API secret value
//Authentication
//URI's
token_uri = #"Token URL", //create parameter to define Token URL value
resource = #"Event URL", //create parameter to define Event URL value
//User Details
username = username, //create parameter to define username
password = password, //create parameter to define password
//response token generation with the above steps and parameters
tokenResponse = Json.Document(Web.Contents(token_uri,
[
Content=
Text.ToBinary(Uri.BuildQueryString(
[
client_id = client_id
,client_secret=client_secret
,username=username
,password=password
,resource=resource
,grant_type = "password"
]))
,Headers=
[Accept="application/json"]
, ManualStatusHandling={400}
])),
access_token = tokenResponse[access_token],
token = "Bearer " & tokenResponse[access_token],
//call rest api with the above created parameters i.e., start, end date converted in EPOCH format with REST API for Events
GetJsonQuery = Json.Document(Web.Contents(Custom4,
[Headers=
[Authorization=token]
]
)
)
in
GetJsonQuery
Anónimo
En respuesta a v-juanli-msft
Hola @v-juanli-msft,
Gracias por compartir el artículo, pero mi mensaje era comunicar cómo hacer cuando es necesario convertir la hora del sistema al formato de hora EPOCH sin decimales, milisegundos de 13 dígitos y usarlo como parte de la API REST.
La consulta compartida por mí funciona para mí y se compartió para los miembros que buscan una solución.
Atentamente,
Anand
v-juanli-msft
hola @anonimo
Parece que necesita convertir el formato de fecha y hora a época o tiempo de Unix (milisegundos), consulte los métodos para convertir fecha y hora a segundos y luego use segundos * 1000 para obtener milisegundos.
https://social.technet.microsoft.com/Forums/en-US/64b96320-1872-44d8-931f-68749914bf6c/how-to-convert-datetime-to-unix-time?forum=powerquery
Atentamente
Maggie
Equipo de apoyo comunitario _ Maggie Li
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Anónimo
En respuesta a v-juanli-msft
Hola @v-juanli-msft,
Gracias por compartir el artículo, pero mi mensaje era comunicar cómo hacer cuando es necesario convertir la hora del sistema al formato de hora EPOCH sin decimales, milisegundos de 13 dígitos y usarlo como parte de la API REST.
La consulta compartida por mí funciona para mí y se compartió para los miembros que buscan una solución.
Atentamente,
Anand
edhans
En respuesta a Anónimo
Gracias por compartir la información @Anónimo: marqué su respuesta como una solución para que otros reconozcan que está resuelta y tiene una respuesta viable.