Problemas conhecidos com o Microsoft GraphKnown issues with Microsoft Graph

Este artigo descreve os problemas conhecidos com o Microsoft Graph. Confira as informações sobre as atualizações mais recentes no Log de alterações do Microsoft Graph.This article describes known issues with Microsoft Graph. For information about the latest updates, see the Microsoft Graph changelog.

UsuáriosUsers

Sem acesso instantâneo após a criaçãoNo instant access after creation

Os usuários podem ser criados imediatamente por um POST na entidade do usuário. Uma licença do Office 365 deve ser atribuída a um usuário primeiro para que ele possa ter acesso aos serviços do Office 365. Mesmo assim, devido à natureza distribuída do serviço, pode demorar 15 minutos antes que os arquivos, as mensagens e as entidades de eventos fiquem disponíveis para uso por esse usuário na API do Microsoft Graph. Durante esse período, os aplicativos receberão uma resposta de erro 404 HTTP.Users can be created immediately through a POST on the user entity. An Office 365 license must first be assigned to a user, in order to get access to Office 365 services. Even then, due to the distributed nature of the service, it might take 15 minutes before files, messages and events entities are available for use for this user, through the Microsoft Graph API. During this time, apps will receive a 404 HTTP error response.

Restrições de fotoPhoto restrictions

A leitura e a atualização da foto do perfil do usuário só serão possíveis se o usuário tiver uma caixa de correio. Além disso, as fotos que possam ter sido previamente armazenadas usando a propriedade thumbnailPhoto (usando a visualização da API unificada do Office 365, o Azure AD Graph ou por meio da sincronização do AD Connect) deixarão de estar acessíveis com a propriedade photo do recurso usuário do Microsoft Graph. A falha na leitura ou na atualização de uma foto, nesse caso, resultaria no seguinte erro:Reading and updating a user's profile photo is only possible if the user has a mailbox. Additionally, any photos that may have been previously stored using the thumbnailPhoto property (using the Office 365 unified API preview, or the Azure AD Graph, or through AD Connect synchronization) are no longer accessible through the Microsoft Graph photo property of the user resource. Failure to read or update a photo, in this case, would result in the following error:

    {
      "error": {
        "code": "ErrorNonExistentMailbox",
        "message": "The SMTP address has no mailbox associated with it."
      }
    }

Uso da consulta deltaUsing delta query

Para saber mais sobre problemas conhecidos com o uso da consulta delta, veja a seção da consulta delta deste artigo.For known issues using delta query, see the delta query section in this article.

A revogação de sessões de entrada retorna um código HTTP erradoRevoke sign-in sessions returns wrong HTTP code

O usuário: revokeSignInSessions API deve retornar uma resposta 204 No content para ter revogações bem-sucedidas e um código de erro HTTP (4xx ou 5xx) se algo der errado com a solicitação.The user: revokeSignInSessions API should return a 204 No content response for successful revocations, and an HTTP error code (4xx or 5xx) if anything goes wrong with the request. No entanto, devido a um problema de serviço, essa API retorna um parâmetro 200 OK e um parâmetro booleano que é sempre true.However, due to a service issue, this API returns a 200 OK and a Boolean parameter that is always true. Até que isso seja corrigido, é recomendado que desenvolvedores simplesmente tratem qualquer código de retorno 2xx como bem-sucedido para esta API.Until this is fixed, developers are simply advised to treat any 2xx return code as success for this API.

Objetos incompletos ao usar a solicitação getByIdsIncomplete objects when using getByIds request

A solicitação de objetos usando a opção de Obter objetos de diretório de uma lista de IDs deve retornar objetos completos.Requesting objects using Get directory objects from a list of IDs should return full objects. No entanto, atualmente, os objetos de usuário no ponto de extremidade v1.0 são retornados com um conjunto limitado de propriedades.However, currently user objects on the v1.0 endpoint are returned with a limited set of properties. Como solução temporária, ao usar a operação em combinação com a opção de consulta $select, objetos de usuário mais completos serão retornados.As a temporary workaround, when you use the operation in combination with the $select query option, more complete user objects will be returned. Esse comportamento não está de acordo com as especificações do OData.This behavior is not in accordance with the OData specifications. Como esse comportamento pode ser atualizado no futuro, use esta solução alternativa apenas quando fornecer $select= com todas as propriedades de seu interesse e somente se futuras alterações nessa solução alternativa forem aceitáveis.Because this behavior might be updated in the future, use this workaround only when you provide $select= with all the properties you are interested in, and only if future breaking changes to this workaround are acceptable.

Microsoft TeamsMicrosoft Teams

Não há suporte para GET /teams e POST /teamsGET /teams and POST /teams are not supported

Confira listar todas as equipes e listar suas equipes para obter uma lista de equipes.See list all teams and list your teams to get a list of teams. Confira criar equipe para criar equipes.See create team for creating teams.

Equipes ausentes em listas todas as equipesMissing teams in list all teams

Algumas equipes que foram criadas no passado mas não foram usadas recentemente por um usuário do Microsoft Teams não são listadas por listar todas as equipes.Some teams that were created in the past but haven't been used recently by a Microsoft Teams user aren't listed by list all teams. Novas equipes serão listadas.New teams will be listed. Algumas equipes antigas não têm uma propriedade resourceProvisioningOptions que contém “Equipe”, que é configurada em equipes recém-criadas e equipes que são visitadas no Microsoft Teams.Certain old teams don't have a resourceProvisioningOptions property that contains "Team", which is set on newly created teams and teams that are visited in Microsoft Teams. No futuro, vamos configurar resourceProvisioningOptions em equipes existentes que não foram abertas no Microsoft Teams.In the future, we will set resourceProvisioningOptions on existing teams that have not been opened in Microsoft Teams.

GruposGroups

Permissões para grupos e Microsoft TeamsPermissions for groups and Microsoft Teams

O Microsoft Graph expõe duas permissões (Group.Read.All e Group.ReadWrite.All) para obter acesso a APIs de grupos e Microsoft Teams.Microsoft Graph exposes two permissions (Group.Read.All and Group.ReadWrite.All) for access to the APIs for groups and Microsoft Teams. As permissões do aplicativo devem ser consentidas por um administrador.These permissions must be consented to by an administrator. No futuro, pretendemos adicionar novas permissões para grupos e equipes que possam ser consentidas pelos usuários.In the future, we plan to add new permissions for groups and teams that users can consent to.

Além disso, somente a API para administração de grupo principal e gerenciamento suporta acesso usando permissões delegadas ou somente para aplicativos. Todos os outros recursos da API do grupo dão suporte apenas a permissões delegadas.Also, only the API for core group administration and management supports access using delegated or app-only permissions. All other features of the group API support only delegated permissions.

Exemplos de recursos de grupo que oferecem suporte a permissões delegadas e somente para aplicativos:Examples of group features that support delegated and app-only permissions:

  • Criar e excluir gruposCreating and deleting groups
  • Obter e atualizar propriedades do grupo pertencentes ao gerenciamento ou administração de grupoGetting and updating group properties pertaining to group administration or management
  • Definições do diretório, tipo e sincronização do grupoGroup directory settings, type, and synchronization
  • Membros e proprietários de grupoGroup owners and membership

Exemplos de recursos de grupo que oferecem suporte somente a permissões delegadas:Examples of group features that support only delegated permissions:

  • Conversas, eventos e foto de grupoGroup conversations, events, photo
  • Remetentes externos, remetentes aceitos ou rejeitados e assinatura de grupoExternal senders, accepted or rejected senders, group subscription
  • Favoritos do usuário e contagem de não vistosUser favorites and unseen count

PolíticaPolicy

O uso do Microsoft Graph para criar e nomear um grupo do Office 365 ultrapassa qualquer política de grupo do Office 365 que seja configurada pelo Outlook Web App.Using Microsoft Graph to create and name an Office 365 group bypasses any Office 365 group policies that are configured through Outlook Web App.

Definir a propriedade allowExternalSendersSetting the allowExternalSenders property

Atualmente, há um problema que impede a configuração da propriedade allowExternalSenders de um grupo em uma operação de POST ou PATCH no /v1.0 e no /beta.There is currently an issue that prevents setting the allowExternalSenders property of a group in a POST or PATCH operation, in both /v1.0 and /beta.

Uso da consulta deltaUsing delta query

Para saber mais sobre problemas conhecidos com o uso da consulta delta, veja a seção da consulta delta deste artigo.For known issues using delta query, see the delta query section in this article.

ReservasBookings

ErrorExceededFindCountLimit ao consultar bookingBusinessesErrorExceededFindCountLimit when querying bookingBusinesses

A obtenção da lista de bookingBusinesses falha com o seguinte código de erro quando a organização tem várias empresas de Reservas e a conta que está fazendo a solicitação não é um administrador:Getting the list of bookingBusinesses fails with the following error code when an organization has several Bookings businesses and the account making the request is not an administrator:

{
  "error": {
    "code": "ErrorExceededFindCountLimit",
    "message":
      "The GetBookingMailboxes request returned too many results. Please specify a query to limit the results.",
  }
}

Como alternativa, você pode limitar o conjunto de empresas retornadas pela solicitação, incluindo um parâmetro query, por exemplo:As a workaround, you can limit the set of businesses returned by the request by including a query parameter, for example:

GET https://graph.microsoft.com/beta/bookingBusinesses?query=Fabrikam

CalendáriosCalendars

Acessar um calendário compartilhadoAccessing a shared calendar

Ao tentar acessar eventos em um calendário compartilhado por outro usuário usando a operação a seguir:When attempting to access events in a calendar that has been shared by another user using the following operation:

GET /users/{id}/calendars/{id}/events

Você pode receber HTTP 500 com o código de erro ErrorInternalServerTransientError. O erro ocorre porque:You may get HTTP 500 with the error code ErrorInternalServerTransientError. The error occurs because:

  • Historicamente, há duas maneiras de compartilhar o calendário, que são chamadas de "antiga" e "nova" abordagens, para fins de diferenciá-las.Historically, there are two ways that calendar sharing has been implemented, which, for the purpose of differentiating them, are referred to as the "old" approach and "new" approach.
  • A nova abordagem está disponível atualmente para compartilhamento de calendários, com permissões de exibição ou edição, mas não com permissões de representante.The new approach is currently available for sharing calendars with view or edit permissions, but not with delegate permissions.
  • Você pode usar a API REST de calendário para exibir ou editar calendários compartilhados somente quando os calendários são compartilhados de acordo com a nova abordagem.You can use the calendar REST API to view or edit shared calendars only if the calendars were shared using the new approach.
  • Não é possível usar a API REST de calendário para exibir ou editar esses calendários ou os respectivos eventos quando eles são compartilhados de acordo com a antiga abordagem.You cannot use the calendar REST API to view or edit such calendars (or their events) if the calendars were shared using the old approach.

Se você compartilhar o calendário com permissões de exibição ou edição usando a abordagem antiga, poderá resolver o problema e atualizar manualmente o compartilhamento do calendário para usar a nova abordagem.If a calendar was shared with view or edit permissions but using the old approach, you can now work around the error and manually upgrade the calendar sharing to use the new approach. Com o tempo, o Outlook atualizará automaticamente todos os calendários compartilhados para usar a nova abordagem, incluindo calendários compartilhados com permissões delegadas.Over time, Outlook will automatically upgrade all shared calendars to use the new approach, including calendars shared with delegate permissions.

Para atualizar manualmente um calendário compartilhado e usar a nova abordagem, faça os seguintes procedimentos:To manually upgrade a shared calendar to use the new approach, follow these steps:

  1. O destinatário remove o calendário previamente compartilhado com ele.The recipient removes the calendar that was previously shared to them.
  2. O proprietário compartilha novamente o calendário no Outlook na Web, no Outlook para iOS ou no Outlook para Android.The calendar owner re-shares the calendar in Outlook on the web, Outlook on iOS, or Outlook on Android.
  3. O destinatário aceita novamente o calendário compartilhado usando o Outlook na Web. Em breve você poderá usar outros clientes do Outlook.The recipient re-accepts the shared calendar using Outlook on the web. (It will be possible to use other Outlook clients soon.)
  4. O destinatário verifica se o calendário foi compartilhado novamente com êxito por meio da nova abordagem, com permissão para exibi-lo no Outlook para iOS ou no Outlook para Android.The recipient verifies that the calendar has been re-shared successfully using the new approach by being able to view the shared calendar in Outlook on iOS or Outlook on Android.

Um calendário compartilhado com você na nova abordagem é exibido como qualquer outro na sua caixa de correio. Você pode usar a API REST de calendário para visualizar e editar eventos no calendário compartilhado, como se fosse seu próprio calendário. Como exemplo:A calendar shared with you in the new approach appears as just another calendar in your mailbox. You can use the calendar REST API to view or edit events in the shared calendar, as if it's your own calendar. As an example:

GET /me/calendars/{id}/events

Adicionar e acessar calendários baseados em ICS na caixa de correio do usuárioAdding and accessing ICS-based calendars in user's mailbox

Atualmente, há suporte parcial para um calendário com base em uma Inscrição em Calendário da Internet (ICS):Currently, there is partial support for a calendar based on an Internet Calendar Subscription (ICS):

  • Você pode adicionar um calendário baseado em ICS para uma caixa de correio do usuário por meio da interface do usuário, mas não através da API do Microsoft Graph.You can add an ICS-based calendar to a user mailbox through the user interface, but not through the Microsoft Graph API.
  • Listar os calendários do usuário permite que você obtenha as propriedades name, color e id de cada calendar no grupo de calendários padrão do usuário ou em um grupo de calendários especificado, inclusive todos os calendários com base em ICS. Não é possível armazenar ou acessar a URL da ICS no recurso de calendário.Listing the user's calendars lets you get the name, color and id properties of each calendar in the user's default calendar group, or a specified calendar group, including any ICS-based calendars. You cannot store or access the ICS URL in the calendar resource.
  • Você também pode listar os eventos de um calendário baseado em ICS.You can also list the events of an ICS-based calendar.

Suporte de propriedade onlineMeetingUrl do Microsoft TeamsonlineMeetingUrl property support for Microsoft Teams

Atualmente, a propriedade onlineMeetingUrl de um evento de reunião do Skype indica a URL da reunião online.Currently, the onlineMeetingUrl property of a Skype meeting event would indicate the online meeting URL. No entanto, essa propriedade para um evento de reunião do Microsoft Teams está definida como nula.However, that property for a Microsoft Teams meeting event is set to null.

A versão beta oferece uma solução alternativa, na qual é possível usar a propriedade onlineMeetingProvider de um eventopara verificar se o provedor é o Microsoft Teams.The beta version offers a workaround, where you can use the onlineMeetingProvider property of an event to verify if the provider is Microsoft Teams. Por meio da propriedade onlineMeeting do evento, você pode acessar o joinUrl.Through the onlineMeeting property of the event, you can access the joinUrl.

Comunicações na nuvem (visualização)Cloud communications (preview)

Observação As comunicações na nuvem estão atualmente em visualização e disponíveis apenas no ponto de extremidade beta do Microsoft Graph.Note Calling and online meetings are currently in preview and are available only in the Microsoft Graph beta endpoint. O cliente do Microsoft Teams não mostra o menu Exibir detalhes da Reunião para reuniões de canal criadas por meio da API de comunicações na nuvem.The Microsoft Teams client does not show the View Meeting details menu for channel meetings created via the cloud communications API.

ContatosContacts

Contatos de organização disponíveis somente na versão betaOrganization contacts available in only beta

Somente os contatos pessoais têm suporte no momento. Os contatos organizacionais atualmente não têm suporte na /v1.0, mas podem ser encontrados na versão /beta.Only personal contacts are currently supported. Organizational contacts are not currently supported in /v1.0, but can be found in /beta.

Pasta Contatos padrãoDefault contacts folder

Na versão /v1.0, GET /me/contactFolders não inclui a pasta de contatos do usuário padrão.In the /v1.0 version, GET /me/contactFolders does not include the user's default contacts folder.

Uma correção será disponibilizada. Enquanto isso, você pode usar a seguinte consulta list contacts e a propriedade parentFolderId como uma solução alternativa para obter a ID da pasta de contatos padrão:A fix will be made available. Meanwhile, you can use the following list contacts query and the parentFolderId property as a workaround to get the folder ID of the default contacts folder:

GET https://graph.microsoft.com/v1.0/me/contacts?$top=1&$select=parentFolderId

Na consulta acima:In the above query:

  1. /me/contacts?$top=1 obtém as propriedades de um contato na pasta de contatos padrão./me/contacts?$top=1 gets the properties of a contact in the default contacts folder.
  2. A anexação de &$select=parentFolderId retorna apenas a propriedade parentFolderId do contato, que é a ID da pasta de contatos padrão.Appending &$select=parentFolderId returns only the contact's parentFolderId property, which is the ID of the default contacts folder.

Acessar contatos por meio de uma pasta de contatos na versão betaAccessing contacts via a contact folder in beta

Atualmente, não há na versão /beta um problema que impeça o acesso a um contato especificando sua pasta pai na URL de solicitação REST, conforme mostrado nos dois cenários abaixo.In the /beta version, there is currently an issue that prevents accessing a contact by specifying its parent folder in the REST request URL, as shown in the 2 scenarios below.

  • Acessando um contato a partir de um nível superior do contactFolder do usuário.Accessing a contact from a top level contactFolder of the user's.
GET /me/contactfolders/{id}/contacts/{id}
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts/{id}
  • Acessando um contato contido em uma pasta filha de um contactFolder. O exemplo a seguir mostra um nível de aninhamento, mas um contato pode estar localizado em um filho de um filho e assim por diante.Accessing a contact contained in a child folder of a contactFolder. The example below shows one level of nesting, but a contact can be located in a child of a child and so on.
GET /me/contactFolder/{id}/childFolders/{id}/.../contacts/{id}
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts/{id}

Como alternativa, você pode simplesmente obter o contato, especificando sua identificação conforme mostrado abaixo, uma vez que o GET /contacts na versão /beta se aplica a todos os contatos na caixa de correio do usuário:As an alternative, you can simply get the contact by specifying its ID as shown below, since GET /contacts in the /beta version applies to all the contacts in the user's mailbox:

GET /me/contacts/{id}
GET /users/{id | userPrincipalName}/contacts/{id}

MensagensMessages

O parâmetro de comentário para criar um rascunhoThe comment parameter for creating a draft

O parâmetro comment para criar uma resposta ou rascunho de encaminhamento (createReply, createReplyAll, createForward) não se torna parte do corpo do rascunho de mensagem resultante.The comment parameter for creating a reply or forward draft (createReply, createReplyAll, createForward) does not become part of the body of the resultant message draft.

As mensagens GET retornam chats no Microsoft TeamsGET messages returns chats in Microsoft Teams

Em pontos de extremidade beta e v1, a resposta de GET /users/id/messages inclui chats do usuário no Microsoft Teams que ocorreu fora do escopo de uma equipe ou de um canal.In both the v1 and beta endpoints, the response of GET /users/id/messages includes the user's Microsoft Teams chats that occurred outside the scope of a team or channel. Essas mensagens de chat tem "IM" como o assunto.These chat messages have "IM" as their subject.

Unidades, arquivos e streaming de conteúdoDrives, files and content streaming

  • O acesso pela primeira vez a uma unidade pessoal de um usuário pelo Microsoft Graph antes que ele acesse seu site pessoal por um navegador resulta em uma resposta 401.First time access to a user's personal drive through the Microsoft Graph before the user accesses their personal site through a browser leads to a 401 response.

Limitações de parâmetro de consultaQuery parameter limitations

  • Não há suporte para vários namespaces.Multiple namespaces are not supported.
  • Não há suporte para GETs em $ref e conversão em usuários, grupos, dispositivos, entidades de serviço e aplicativos.GETs on $ref and casting is not supported on users, groups, devices, service principals and applications.
  • @odata.bind não é compatível. Isso significa que os desenvolvedores não poderão definir corretamente a propriedade de navegação acceptedSenders ou rejectedSenders em um grupo.@odata.bind is not supported. This means that developers won’t be able to properly set the acceptedSenders or rejectedSenders navigation property on a group.
  • @odata.id não está presente na navegação sem confinamento (como mensagens) quando há o uso de metadados mínimos.@odata.id is not present on non-containment navigations (like messages) when using minimal metadata.
  • $expand:
    • Não há suporte para nextLinkNo support for nextLink
    • Não há suporte para mais de um nível de expansãoNo support for more than 1 level of expand
    • Não há suporte com parâmetros adicionais ($filter, $select)No support with extra parameters ($filter, $select)
  • $filter:
    • Não há suporte para filtros no ponto de extremidade /attachments./attachments endpoint does not support filters. Se presente, o parâmetro $filter é ignorado.If present, the $filter parameter is ignored.
    • Não há suporte para filtragem de carga de trabalho cruzada.Cross-workload filtering is not supported.
  • $search:
    • A pesquisa de texto completo só está disponível para um subconjunto de entidades, como mensagens.Full-text search is only available for a subset of entities such as messages.
    • Não há suporte para pesquisa de carga de trabalho cruzada.Cross-workload searching is not supported.

Consulta deltaDelta query

  • O contexto de OData às vezes é retornado incorretamente ao controlar alterações nas relações.OData context is sometimes returned incorrectly when tracking changes to relationships.
  • As extensões de esquema (herdadas) não são retornadas com instrução $select, mas são retornadas sem $select.Schema extensions (legacy) are not returned with $select statement, but are returned without $select.
  • Os clientes não podem controlar alterações em extensões abertas ou extensões de esquema.Clients cannot track changes to open extensions or registered schema extensions.

Alterações do aplicativo e da API servicePrincipalApplication and servicePrincipal API changes

Há alterações para as entidades application e servicePrincipal atualmente em desenvolvimento. A seguir, encontra-se um resumo das limitações atuais e os recursos da API em desenvolvimento:There are changes to the application and servicePrincipal entities currently in development. The following is a summary of current limitations and in-development API features.

Limitações atuais:Current limitations:

  • Algumas propriedades do aplicativo (como appRoles e addIns) não estarão disponíveis até que todas as alterações sejam concluídas.Some application properties (such as appRoles and addIns) will not be available until all changes are completed.
  • Somente aplicativos multilocatários podem ser registrados.Only multi-tenant apps can be registered.
  • Atualizar aplicativos é restrito aos aplicativos registrados após a atualização inicial beta.Updating apps is restricted to apps registered after the initial beta update.
  • Usuários do Azure Active Directory podem registrar aplicativos e adicionar proprietários adicionais.Azure Active Directory users can register apps and add additional owners.
  • Suporte para protocolos OpenID Connect e OAuth.Support for OpenID Connect and OAuth protocols.
  • Atribuições de política para uma falha de aplicativo.Policy assignments to an application fail.
  • Falha em operações em ownedObjects que exigem appId (por exemplo, users/{id|userPrincipalName}/ownedObjects/{id}/...).Operations on ownedObjects that require appId fail (For example, users/{id|userPrincipalName}/ownedObjects/{id}/...).

Em desenvolvimento:In development:

  • Capacidade de registrar aplicativos de um único locatário.Ability to register single tenant apps.
  • Atualizações para o servicePrincipal.Updates to servicePrincipal.
  • Migração de aplicativos Azure AD existentes para um modelo atualizado.Migration of existing Azure AD apps to updated model.
  • Suporte para appRoles, clientes pré-autorizados, reivindicações opcionais, reivindicações de associação de grupo e identidade visual.Support for appRoles, pre-authorized clients, optional claims, group membership claims, and branding
  • Os usuários de conta Microsoft (MSA) podem registrar aplicativos.Microsoft account (MSA) users can register apps.
  • Suporte para protocolos SAML e WsFed.Support for SAML and WsFed protocols.

ExtensõesExtensions

Não há suporte para o controle de alteraçõesChange tracking is not supported

O controle de alterações (consulta delta) não tem suporte nas propriedades de extensão do esquema ou abrir.Change tracking (delta query) is not supported for open or schema extension properties.

Criar um recurso e uma extensão aberta ao mesmo tempoCreating a resource and open extension at the same time

Você não pode especificar uma extensão aberta ao mesmo tempo que cria uma instância de administrativeUnit, device, group, organization ou user. Primeiro você deve criar a instância e, depois, especificar os dados da extensão aberta em uma solicitação POST subsequente nessa instância.You cannot specify an open extension at the same time you create an instance of administrativeUnit, device, group, organization or user. You must first create the instance and then specify the open extension data in a subsequent POST request on that instance.

Criar uma instância de recurso e adicionar dados de extensão de esquema ao mesmo tempoCreating a resource instance and adding schema extension data at the same time

Não é possível especificar uma extensão de esquema na mesma operação, como criar uma instância de contato, evento, mensagem ou postagem.You cannot specify a schema extension in the same operation as creating an instance of contact, event, message, or post. Você deve primeiro criar a instância de recurso e, em seguida, fazer um PATCH para essa instância para adicionar uma extensão de esquema e dados personalizados.You must first create the resource instance and then do a PATCH to that instance to add a schema extension and custom data.

Limite de 100 valores de propriedade de extensão de esquema permitido por instância de recursosLimit of 100 schema extension property values allowed per resource instance

Recursos de diretório, como dispositivo, grupo e usuário, atualmente limitam o número total de valores de propriedade de extensão de esquema que podem ser definidas em um recurso, até 100.Directory resources, such as device, group and user, currently limit the total number of schema extension property values that can be set on a resource instance, to 100.

Não há suporte a filtragem em propriedades de extensão de esquema em todos os tipos de entidadeFiltering on schema extension properties not supported on all entity types

Não há suporte a filtragem em propriedades de extensão de esquema (usando a expressão $filter) para tipos de entidade do Outlook – contato, evento, mensagem ou postagem.Filtering on schema extension properties (using the $filter expression) is not supported for Outlook entity types - contact, event, message, or post.

Envio em lote JSONJSON Batching

Nenhum lote aninhadoNo nested batch

Solicitações de lote JSON não devem conter quaisquer solicitações em lotes aninhados.JSON batch requests must not contain any nested batch requests.

Todas as solicitações individuais devem ser síncronasAll individual requests must be synchronous

Todas as solicitações contidas em uma solicitação de lote devem ser executadas de forma síncrona. Se estiver presente, a preferência respond-async será ignorada.All requests contained in a batch request must be executed synchronously. If present, the respond-async preference will be ignored.

Sem transaçõesNo transactions

No momento o Microsoft Graph não oferece suporte a processamento transacional de solicitações individuais. A propriedade atomicityGroup em solicitações individuais será ignorada.Microsoft Graph does not currently support transactional processing of individual requests. The atomicityGroup property on individual requests will be ignored.

URIs devem ser relativasURIs must be relative

Sempre especifique URIs relativas em solicitações de lote. O Microsoft Graph então torna essas URLs absolutas usando o ponto de extremidade de versão incluído na URL de lote.Always specify relative URIs in batch requests. Microsoft Graph then makes these URLs absolute by using the version endpoint included in the batch URL.

Limite de tamanho de loteLimit on batch size

No momento, as solicitações de lote JSON estão limitadas a 20 solicitações individuais.JSON batch requests are currently limited to 20 individual requests.

Dependências simplificadasSimplified dependencies

Solicitações individuais podem depender de outras solicitações individuais. Atualmente, solicitações só podem depender de uma única outra solicitação e devem seguir um destes três padrões:Individual requests can depend on other individual requests. Currently, requests can only depend on a single other request, and must follow one of these three patterns:

  1. Paralelo – nenhuma solicitação individual declara uma dependência na propriedade dependsOn.Parallel - no individual request states a dependency in the dependsOn property.
  2. Serial – todas as solicitações individuais dependem da solicitação individual anterior.Serial - all individual requests depend on the previous individual request.
  3. Mesmo – todas as solicitações individuais indicam que uma dependência na propriedade dependsOn declaram a mesma dependência.Same - all individual requests that state a dependency in the dependsOn property, state the same dependency.

Conforme o processamento em lotes JSON amadurece, essas limitações são removidas.As JSON batching matures, these limitations will be removed.

Aplicativos de Provedor de Soluções na NuvemCloud Solution Provider apps

Os aplicativos CSP devem usar o ponto de extremidade do Azure ADCSP apps must use Azure AD endpoint

Aplicativos de provedor de solução de nuvem (CSP) devem adquirir tokens de pontos de extremidade do Azure AD (v1) para chamar a Microsoft Graph com êxito em seus clientes gerenciados por parceiros. Atualmente, não há suporte para aquisição de um token pelo ponto de extremidade Azure AD v 2.0 mais recente.Cloud solution provider (CSP) apps must acquire tokens from the Azure AD (v1) endpoints to successfully call Microsoft Graph in their partner-managed customers. Currently, acquiring a token through the newer Azure AD v2.0 endpoint is not supported.

Sob certas circunstâncias, o pré-consentimento para aplicativos CSP pode não funcionar para alguns de seus locatários de clientes.Under certain circumstances, pre-consent for CSP apps may not work for some of your customer tenants.

  • Para aplicativos que usam permissões delegadas, ao usar o aplicativo pela primeira vez com um novo locatário do cliente, você poderá receber esse erro após o logon: AADSTS50000: There was an error issuing a token.For apps using delegated permissions, when using the app for the first time with a new customer tenant you might receive this error after sign-in: AADSTS50000: There was an error issuing a token.
  • Para aplicativos que usam permissões de aplicativos, seu aplicativo pode adquirir um token, mas inesperadamente receber uma mensagem de acesso negado ao chamar o Microsoft Graph.For apps using application permissions, your app can acquire a token, but unexpectedly gets an access denied message when calling Microsoft Graph.

Estamos trabalhando para corrigir esse problema o mais rápido possível, de modo que a pré-autorização funcionará para todos os seus locatários de clientes.We are working to fix this issue as soon as possible, so that pre-consent will work for all your customer tenants.

Enquanto isso, para desbloquear o desenvolvimento e testes, você pode usar a seguinte solução alternativa.In the meantime, to unblock development and testing you can use the following workaround.

OBSERVAÇÃO: esta não é uma solução permanente e destina-se apenas a desbloquear o desenvolvimento. Esta solução alternativa não será necessária uma vez que a questão acima mencionada seja corrigida. Esta solução alternativa não precisa ser desfeita após a correção.NOTE: This is not a permanent solution and is only intended to unblock development. This workaround will not be required once the aforementioned issue is fixed. This workaround does not need to be undone once the fix is in place.

  1. Abra uma sessão do Azure AD v2 PowerShell e conecte-se ao locatário do parceiro customerdigitando suas credenciais de administrador na janela de entrada. Você pode baixar e instalar o Azure AD PowerShell V2 aqui.Open an Azure AD v2 PowerShell session and connect to your customer tenant by entering your admin credentials into the sign-in window. You can download and install Azure AD PowerShell V2 from here.

    Connect-AzureAd -TenantId {customerTenantIdOrDomainName}
    
  2. Crie o servicePrincipal do Microsoft Graph.Create the Microsoft Graph service principal.

    New-AzureADServicePrincipal -AppId 00000003-0000-0000-c000-000000000000
    

Identidade e acessoIdentity and access

Políticas de acesso condicional e locais nomeadosConditional access policies and named locations

As operações de gravação para as APIs de acesso condicional e locais nomeados exigem duas permissões: política. Policy.ReadWrite.ConditionalAccess e Directory. AccessAsUser. All.Write operations for the conditional access policies and named locations APIs require two permissions: Policy.ReadWrite.ConditionalAccess and Directory.AccessAsUser.All. Geralmente, a permissão menos privilegiada, Policy.ReadWrite.ConditionalAccess menos privilegiada, deve ser suficiente.Generally, the least privileged permission, Policy.ReadWrite.ConditionalAccess, should be sufficient. Neste momento, você deve adquirir um token com essas duas permissões.At this time, you should acquire a token with both of these permissions.

Funcionalidade disponível apenas nas APIs Graph do Azure AD ou REST do Office 365Functionality available only in Office 365 REST or Azure AD Graph APIs

Alguns recursos ainda não estão disponíveis no Microsoft Graph. Se você não vir a funcionalidade que está procurando, poderá usar as APIs REST do Office 365 específicas do ponto de extremidade. Para o Azure Active Directory, veja a postagem no blog Microsoft Graph ou Azure AD Graph sobre os recursos que só estão disponíveis pela API do Graph do Azure AD.Some functionality is not yet available in Microsoft Graph. If you don't see the functionality you're looking for, you can use the endpoint-specific Office 365 REST APIs. For Azure Active Directory, please refer to the Microsoft Graph or Azure AD Graph blog post on the features that are only available through Azure AD Graph API.