Compartir a través de


Actualización a la versión más reciente del kit de herramientas de Microsoft Graph

En este artículo se proporciona un resumen de los cambios importantes introducidos en las versiones del kit de herramientas de Microsoft Graph y cómo estos cambios pueden afectar a la solución.

Microsoft Graph Toolkit v4.0

Eliminación de la compatibilidad con ES5 y mgt-loader

Microsoft Graph Toolkit v4.0 elimina la compatibilidad con ES5 y usa mgt-loader como la manera de importar el kit de herramientas en la aplicación a través de CDN. Si usa mgt-loader, debe cambiar el código para importar los módulos.

El código siguiente:

<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
<mgt-msal2-provider client-id="[CLIENT-ID]"></mgt-msal2-provider>
<mgt-login></mgt-login>

Se convierte en lo siguiente:

<script type="module">
  import { registerMgtComponents, Providers, Msal2Provider } from 'https://unpkg.com/@microsoft/mgt@4';
  Providers.globalProvider = new Msal2Provider({clientId: '[CLIENT-ID]'});
  registerMgtComponents();
</script>

<mgt-login></mgt-login>

Eliminación del mgt-spfx paquete para compilar elementos web SharePoint Framework

Microsoft Graph Toolkit v4.0 quita el @microsoft/mgt-spfx paquete para compilar SharePoint Framework elementos web. Para garantizar una excelente experiencia para nuestros desarrolladores de SharePoint, hemos mejorado nuestro @microsoft/mgt-spfx-utils paquete y nuestras capacidades de desambiguación para ofrecer una integración perfecta entre SPFx y el kit de herramientas. Este cambio importante allana el camino para una mejor experiencia de desarrollador y más características en el futuro.

Las enumeraciones ahora son uniones de cadena

Microsoft Graph Toolkit v4.0 cambia la forma en que se definen las enumeraciones. En lugar de usar enum para definir los valores, el kit de herramientas ahora usa uniones de cadena. Este cambio proporciona mejores escrituras y una experiencia de desarrollador mejor y uniforme, especialmente para los desarrolladores de React. Este cambio afecta AvatarTypea , ViewType, , PersonTypeUserType, GroupType, y ResponseTypePersonCardInteraction. Por ejemplo, en lugar de usar ViewType de esta manera:

<Person personQuery="me" view={ViewType.twolines}></Person>

Ahora se usa ViewType de esta manera:

<Person personQuery="me" view="twolines"></Person>

mgt-tasks es ahora mgt-planner

Para alinearse mejor con la nomenclatura de Microsoft 365, mgt-tasks se cambió el nombre a mgt-planner. También significa que el componente actualizado mgt-planner ya no admite data-source el cambio a tareas de Outlook.

Permisos necesarios para mgt-person y mgt-planner

Aprovechamos la oportunidad de simplificar y cumplir un enfoque con privilegios mínimos para los permisos requeridos por mgt-person y mgt-planner.

  • En las aplicaciones que usan mgt-person, es posible que los usuarios tengan que dar su consentimiento a nuevos ámbitos de permisos; para obtener más información, consulte la tabla de permisos del componente.
  • Permiso mínimo para mgt-planner cambiar de Group.ReadWrite.All a Tasks.ReadWrite para operaciones de escritura y de a Tasks.Read para operaciones de Group.Read.All lectura.

prepScopes() es consciente de los ámbitos de permisos consentidos.

La prepScopes() función ahora acepta una matriz de ámbitos que se comprueba en el conjunto de ámbitos de permisos con consentimiento actualmente para el usuario actual. Si se encuentra alguno de los ámbitos proporcionados, no se solicita ningún ámbito adicional. Si no se encuentra ninguna coincidencia, se pide al usuario que dé su consentimiento al primer ámbito de la matriz de ámbitos proporcionada. Esto ayuda a la experiencia del usuario y permite a los desarrolladores usar un enfoque con privilegios mínimos.

Ahora es necesario registrar componentes

Los desarrolladores deben llamar explícitamente a la función register para todos los componentes web que se usan en su aplicación al usar componentes de @microsoft/mgt-components . La importación desde la raíz de @microsoft/mgt-components ya no tiene un efecto secundario de registro automático. Por ejemplo, en lugar de usar import { Person } from '@microsoft/mgt-components'; debe usar import { Person } from '@microsoft/mgt-components; y llamar a registerMgtPersonComponent().

Nota:

Los componentes de @microsoft/mgt-react registran automáticamente el componente web subyacente cuando se usan por primera vez. En los casos en los que no se usan los componentes de React, los componentes no se registrarán automáticamente en el explorador. Esto provoca un cambio importante cuando estas aplicaciones emiten marcado de componentes web sin procesar en lugar de usar los componentes contenedores. Asegúrese de usar las registerMgt{Name}Component() funciones.

MgtPersonCard ya no tiene una propiedad de configuración estática

Esta configuración se ha movido a la MgtPersonCardConfig clase para permitir a los desarrolladores importar la configuración y la función asociada getMgtPersonCardScopes() en el nivel superior de su aplicación sin agregar automáticamente el peso del componente completo mgt-person-card y las dependencias al archivo de entrada para sus aplicaciones. Esto ayuda con tamaños de agrupación más pequeños y una mejor experiencia general para desarrolladores.

mgt-people-picker no muestra la presencia de forma predeterminada

El comportamiento predeterminado de mgt-people-picker los cambios para que no se muestre la presencia del usuario a menos que se establezca el show-presence atributo o la showPresence propiedad . Este cambio ayuda a mejorar el rendimiento de las aplicaciones que no necesitan mostrar presencia y adoptar un enfoque con privilegios mínimos.

Microsoft Graph Toolkit v3.0

Se ha cambiado el marco de diseño a componentes web de la interfaz de usuario de Fluent

Para mantener la conformidad y alinearse con la apariencia moderna de Microsoft 365, Microsoft Graph Toolkit ahora usa componentes web de la interfaz de usuario de Fluent. Se recomienda actualizar algunos de los estilos con el sistema de diseño Fluent 2.

Muchos de los tokens de diseño proporcionados para personalizar la apariencia de nuestros componentes han cambiado. Para obtener más información, consulte la sección Propiedades personalizadas de CSS de los artículos de cada componente.

Sdk de Js de Microsoft Graph actualizado de 2.x a 3.x

Si ha estado usando el cliente de Microsoft Graph a través de globalProvider, se actualizó a 3.x. Para obtener más información sobre cómo podría afectarle este cambio, consulte la guía de actualización del SDK de JS de Microsoft Graph.

Actualizado de Lit 1.x a Lit 2.x

Si ha estado creando componentes personalizados sobre el kit de herramientas, revise la guía de actualización Lit para obtener más información sobre cómo podría afectarle este cambio.

Se han cambiado las estructuras de objetos y hay escrituras disponibles para los eventos emitidos por nuestros componentes.

En esta versión, las estructuras de objetos de algunos eventos cambiaron para proporcionar una mejor experiencia de desarrollador. Todos los eventos se escriben con precisión mediante el CustomEvent<T> tipo genérico para ayudarle a entregar código de alta calidad. Para obtener más información, consulte la sección Eventos de los artículos de cada componente.

Permisos cambiados en el selector de canales de Teams

Se MgtTeamsChannelPickerConfig quitó y el componente selector de canales de Teams ahora solo usa Team.ReadBasic.All ámbitos y Channel.ReadBasic.All en lugar de los heredados User.Read.All y Group.Read.All los ámbitos. Este cambio permite que la aplicación use un enfoque con privilegios mínimos.

Se han quitado varios proveedores

En esta versión, se quitaron varios proveedores para garantizar que las aplicaciones permanezcan seguras y proporcionar la mejor experiencia posible a los usuarios (compatibilidad con el acceso condicional, evaluación de acceso continuo, etc.). Se quitaron los siguientes proveedores:

  • Proveedor de Teams
  • Proveedor MSAL2 de Teams
  • Proveedor de MSAL

Pasos siguientes

  • Actualice las soluciones a la versión 3 del kit de herramientas.
  • Informe de errores o deje una solicitud de característica en GitHub.