user: translateExchangeIds
-
[アーティクル]
-
-
名前空間: microsoft.graph
Outlook 関連リソースの ID の形式を変換します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
User.ReadBasic.All、User.Read、User.ReadWrite、User.ReadBasic.All、User.Read.All、User.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
User.ReadBasic.All, User.Read, User.ReadWrite |
| アプリケーション |
User.Read.All、User.ReadWrite.All |
HTTP 要求
POST /me/translateExchangeIds
POST /users/{id|userPrincipalName}/translateExchangeIds
| 名前 |
値 |
| Authorization |
ベアラー {token}。必須。 |
要求本文
| パラメーター |
種類 |
説明 |
| inputIds |
String collection |
変換する識別子のコレクション。 コレクション内のすべての識別子は、同じソース ID の種類を持ち、同じメールボックス内のアイテムに対して指定する必要があります。 このコレクションの最大サイズは 1000 文字列です。 |
| sourceIdType |
exchangeIdFormat |
パラメーター内の識別子の ID の InputIds 種類。 |
| targetIdType |
exchangeIdFormat |
変換する要求された ID の種類。 |
| メンバー |
説明 |
| entryId |
MAPI クライアントで使用されるバイナリ エントリ ID 形式。 |
| ewsId |
Web サービス クライアントで使用Exchange ID 形式。 |
| immutableEntryId |
バイナリ MAPI 互換の変更できない ID 形式。 |
| restId |
Microsoft ユーザーが使用する既定の ID Graph。 |
| restImmutableEntryId |
Microsoft ユーザーが使用する変更できない ID Graph。 |
バイナリ形式 ( および )entryId immutableEntryIdは、URL セーフな base64 エンコードです。 URL の安全は、バイナリ データの base64 エンコードを次のように変更して実装されます。
- に置き換
+ える -
- に置き換
/ える _
- 末尾のパディング文字を削除する (
=)
- 文字列の末尾に、元の (
0``1、または) 埋め込み文字の数を示す整数を追加します2。
応答
成功した場合、このメソッドは応答 200 OK コードと、応答本文 の convertIdResult コレクションを返します。
例
次の例は、複数の識別子を通常の REST API 形式 () から REST 不変形式 (restId) に変換する方法を示していますrestImmutableEntryId。
要求
要求の例を次に示します。
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();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
応答の例を次に示します。
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}"
}
]
}