Cómo usar EPOCH (Tiempo Unix en milisegundos de caracteres de 13 dígitos) en una llamada API REST con fecha(s)

Un usuario Pregunto ✅

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

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *