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 AvatarType
a , ViewType
, , PersonType
UserType
, GroupType
, y ResponseType
PersonCardInteraction
. 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 deGroup.ReadWrite.All
aTasks.ReadWrite
para operaciones de escritura y de aTasks.Read
para operaciones deGroup.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.