Obtener datos de los equipos de Microsoft (turnos)

Un usuario Pregunto ✅

jmoreyproadata

Cómo conectar Power Bi a los equipos de Microsoft, extrayendo información de los cambios de la aplicación que su uso crea en el cronograma.

MOOREJEFF

En respuesta a sjb9

Hola sjb9:

En mi aplicación, utilicé una fuente de OData para consultar directamente la API Graph (beta) directamente en PowerBi. Luego, los datos se actualizan cuando se actualiza el informe. Todavía no he trabajado con «Flow». Actualmente, el usuario está actualizando los informes según sea necesario como una solución a corto plazo. Espero que esto ayude.

= OData.Feed(«https://graph.microsoft.com/beta/teams/your teams ID #/schedule», null, [Implementation=»2.0″])

Hola @jmoreyproadata,

¿Tiene sentido? Si es así, por favor marque mi respuesta como la solución para cerrar el caso, por favor. Más personas se beneficiarán de aquí. Gracias por adelantado.

Atentamente,

Xue Ding

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente. Prestigio son agradables también.

Hola @jmoreyproadata,

Actualmente, no podemos obtener datos de Teams directamente en Power BI. Solo podemos verificar los datos de uso de Teams y ver el informe en Teams. Para mejorar Power BI, puede enviar su solicitud a Ideas de Power BI y votarla.

Atentamente,

Xue Ding

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

MOOREJEFF

En respuesta a v-xuding-msft

¿Es posible usar Graph API para importar los datos de turno de TEAMS a Power BI para usarlos como filtro/segmentador de datos? Esta es una aplicación muy típica para la fabricación. Muy necesario. ¿Es posible? Es que la BETA de Graph tiene esta funcionalidad. ¿Hay una mejor manera

https://docs.microsoft.com/en-us/graph/api/schedule-list-shifts?view=graph-rest-beta&tabs=http

MOOREJEFF

En respuesta a MOOREJEFF

Actualizar a mi propia pregunta para otros usuarios. Esto funciona. Utilice una conexión «ODATA» a Graph API (beta). Solo la API beta tiene los datos de los turnos. A continuación, puede expandir las listas que se devuelven desde la API. En realidad, estamos usando los datos de tiempo de turnos para filtrar otros datos en PowerBi a través de una columna calculada en DAX.

sjb9

En respuesta a MOOREJEFF

@MOOREJEFF ¿Puede explicar un poco más sobre cómo movió los datos recuperados del gráfico a PowerBI?

En Power Automate (flujo) solo puedo ver el agregar al conjunto de datos existente acción para PowerBI.

¿Movió los datos recuperados a otro lugar primero, como un archivo CSV, o fue directamente a PowerBI?

Gracias

MOOREJEFF

En respuesta a sjb9

Hola sjb9:

En mi aplicación, utilicé una fuente de OData para consultar directamente la API Graph (beta) directamente en PowerBi. Luego, los datos se actualizan cuando se actualiza el informe. Todavía no he trabajado con «Flow». Actualmente, el usuario está actualizando los informes según sea necesario como una solución a corto plazo. Espero que esto ayude.

= OData.Feed(«https://graph.microsoft.com/beta/teams/your teams ID #/schedule», null, [Implementation=»2.0″])

En respuesta a MOOREJEFF

Hola @MOOREJEFF,

¡Gracias por compartir la solucion!

viveidru

En respuesta a MOOREJEFF

$clienteId = «XXXXXXXXXXXXXXXXXXXXX»
$clientesecreto = «XXXXXXXXXXXXXXXXXXXXX»
$nombreInquilino = «XXXXXXXXXXXXXXXXXXXXX»
$recurso = «https://graph.microsoft.com/»

$cuerpo de la ficha = @{
Grant_Type = «cliente_credenciales»
Ámbito = «https://graph.microsoft.com/.default»
Id_cliente = $id_cliente
Client_Secret = $clientSecret
}
$tokenResponse = Invoke-RestMethod -Uri «https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token» -Method POST -Body $tokenBody
#__________________________________#__________________________________#__________________________________#________________________________

$URL = «https://graph.microsoft.com/beta/teams/XXXXXXXXXXXXXXXXXXXX/programación»
$resultado = Invoke-RestMethod -Headers @{Autorización = «Bearer $($tokenResponse.access_token)»} -Uri $URL -Method Get -ContentType «application/json»

Yo uso PowerShell

tengo un error

Invocar-RestMethod: {
«error»: {
«código»: «Prohibido»,
«mensaje»: «{«error»:{«código»:»Prohibido»,»mensaje»:»El encabezado MS-APP-ACTS-AS debe configurarse para las solicitudes de contexto de la aplicación. «,»detalles»:[],»error interno»:{«código»:»MissingUserIdHeaderInAppContext»}}}»,
«errorinterno»: {
«fecha»: «2020-06-28T17:07:59»,

¿Cómo puedo solucionar este error?

MS-APP-ACTS-AS

npetrov

En respuesta a viveidru

¿Conseguiste solucionar el problema?

simplemente agregue el parámetro «user_id» en los encabezados

user_id que hace las solicitudes (probablemente)

power query

 getDataApi = Json.Document(Web.Contents("https://graph.microsoft.com/v1.0/",
            [RelativePath = "teams/"&group_id &"/schedule/shifts", Headers = [Authorization = "Bearer "&token, #"MS-APP-ACTS-AS" = user_id], ManualStatusHandling={400}]))

viveidru

En respuesta a MOOREJEFF

La instrucción especifica el parámetro {teamId}, ¿dónde puedo obtenerlo?

MOOREJEFF

En respuesta a viveidru

MOOREJEFF_0-1593095055661.png

C

Deja un comentario

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