user: translateExchangeIds
Artigo
07/18/2022
3 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Traduzir os identificadores de recursos relacionados ao Outlook entre formatos.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões .
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
User.ReadBasic.All, User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All
Delegado (conta pessoal da Microsoft)
User.ReadBasic.All, User.Read, User.ReadWrite
Aplicativo
User.Read.All, User.ReadWrite.All
Solicitação HTTP
POST /me/translateExchangeIds
POST /users/{id|userPrincipalName}/translateExchangeIds
Nome
Valor
Autorização
{token} de portador. Obrigatório.
Corpo da solicitação
Parâmetro
Tipo
Descrição
inputIds
String collection
Uma coleção de identificadores a converter. Todos os identificadores da coleção DEVEM ter o mesmo tipo de ID de origem e DEVEM ser para itens na mesma caixa de correio. O tamanho máximo dessa coleção é de 1000 cadeias de caracteres.
sourceIdType
exchangeIdFormat
O tipo de ID dos identificadores no InputIds parâmetro.
targetIdType
exchangeIdFormat
O tipo de ID solicitado a ser convertido.
Member
Descrição
entryId
O formato de ID de entrada binária usado pelos clientes MAPI.
ewsId
O formato de ID usado pelos clientes Exchange Web Services.
immutableEntryId
O formato de ID imutável compatível com MAPI binário.
restId
O formato de ID padrão usado pela Microsoft Graph.
restImmutableEntryId
O formato ID imutável usado pela Microsoft Graph.
Os formatos binários (entryId e immutableEntryId) são codificados com base em URL segura64. A segurança de URL é implementada modificando a codificação base64 dos dados binários da seguinte maneira:
Substituir + por -
Substituir / por _
Remover quaisquer caracteres de preenchimento à parte (=)
Adicione um inteiro ao final da cadeia de caracteres indicando quantos caracteres de preenchimento estavam no original (0, 1, ou 2)
Resposta
Se tiver êxito, este método retornará 200 OK o código de resposta e uma coleção convertIdResult no corpo da resposta.
Exemplo
O exemplo a seguir mostra como converter vários identificadores do formato normal da API REST (restId) para o formato rest imutável (restImmutableEntryId).
Solicitação
Aqui está a solicitação de exemplo.
POST https://graph.microsoft.com/v1.0/me/translateExchangeIds
Content-Type: application/json
{
"inputIds" : [
"{rest-formatted-id-1}",
"{rest-formatted-id-2}"
],
"sourceIdType": "restId",
"targetIdType": "restImmutableEntryId"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var inputIds = new List<String>()
{
"{rest-formatted-id-1}",
"{rest-formatted-id-2}"
};
var sourceIdType = ExchangeIdFormat.RestId;
var targetIdType = ExchangeIdFormat.RestImmutableEntryId;
await graphClient.Me
.TranslateExchangeIds(inputIds,targetIdType,sourceIdType)
.Request()
.PostAsync();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const convertIdResult = {
inputIds: [
'{rest-formatted-id-1}',
'{rest-formatted-id-2}'
],
sourceIdType: 'restId',
targetIdType: 'restImmutableEntryId'
};
await client.api('/me/translateExchangeIds')
.post(convertIdResult);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/translateExchangeIds"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSMutableArray *inputIdsList = [[NSMutableArray alloc] init];
[inputIdsList addObject: @"{rest-formatted-id-1}"];
[inputIdsList addObject: @"{rest-formatted-id-2}"];
payloadDictionary[@"inputIds"] = inputIdsList;
MSGraphExchangeIdFormat *sourceIdType = [MSGraphExchangeIdFormat restId];
payloadDictionary[@"sourceIdType"] = sourceIdType;
MSGraphExchangeIdFormat *targetIdType = [MSGraphExchangeIdFormat restImmutableEntryId];
payloadDictionary[@"targetIdType"] = targetIdType;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<String> inputIdsList = new LinkedList<String>();
inputIdsList.add("{rest-formatted-id-1}");
inputIdsList.add("{rest-formatted-id-2}");
ExchangeIdFormat sourceIdType = ExchangeIdFormat.REST_ID;
ExchangeIdFormat targetIdType = ExchangeIdFormat.REST_IMMUTABLE_ENTRY_ID;
graphClient.me()
.translateExchangeIds(UserTranslateExchangeIdsParameterSet
.newBuilder()
.withInputIds(inputIdsList)
.withTargetIdType(targetIdType)
.withSourceIdType(sourceIdType)
.build())
.buildRequest()
.post();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetInputIds( []String {
"{rest-formatted-id-1}",
"{rest-formatted-id-2}",
}
sourceIdType := "restId"
requestBody.SetSourceIdType(&sourceIdType)
targetIdType := "restImmutableEntryId"
requestBody.SetTargetIdType(&targetIdType)
result, err := graphClient.Me().TranslateExchangeIds().Post(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Import-Module Microsoft.Graph.Users.Actions
$params = @{
InputIds = @(
"{rest-formatted-id-1}"
"{rest-formatted-id-2}"
)
SourceIdType = "restId"
TargetIdType = "restImmutableEntryId"
}
# A UPN can also be used as -UserId.
Invoke-MgTranslateUserExchangeId -UserId $userId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Aqui está a resposta de exemplo
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"sourceId": "{rest-formatted-id-1}",
"targetId": "{rest-immutable-formatted-id-1}"
},
{
"sourceId": "{rest-formatted-id-2}",
"targetId": "{rest-immutable-formatted-id-2}"
}
]
}