ユーザー・コンテンツの転送
/documents/api/1.2/users/{userID}/transferContent
すべてのユーザー( userID)コンテンツまたは特定のフォルダを別のユーザー( targetUserID)に転送します。 転送中に、宛先ユーザーのホーム・フォルダ(名前は {sourceUsername}からのドキュメント)に新しいフォルダが作成され、すべてのコンテンツがそこに移動されます。 転送が終了すると、この新しいフォルダは自動的にソース・ユーザーと共有されます。
ユーザー・コンテンツを転送するには、管理者としてログインする必要があります。
リクエスト
- application/json
- application/xml
- userID: string
すべてのコンテンツの転送元となるソース
userIDを指定します。 ユーザーGUIDまたはログインを使用できます。
object- idList(optional): string
(オプション)渡されない場合、
all ユーザー・コンテンツは指定されたtargetUserIDに転送されます。 フォルダのグローバル一意識別子(GUID)が渡された場合、フォルダは指定されたtargetUserIDに転送されます。 現在、コールごとに転送できるフォルダは1つのみです。 - targetUserID(optional): string
(必須)すべてのコンテンツが転送される宛先
userIDを指定します。 ユーザーGUIDまたはログインを使用できます。
{
"targetUserID":"UserA",
"idList":"FA8E5194EE2D2EB532237BA398B217802FF797DD1F8E"
}
レスポンス
- application/json
- application/xml
200レスポンス
リクエストが処理されました。
object- errorCode(optional): string
エラー・コードがゼロ(0)の場合は、エラーなしです
- sourceUser(optional): object User
ユーザー情報
- targetUser(optional): object User
ユーザー情報
object- displayName(optional): string
ユーザーの表示名
- id(optional): string
ユーザーのグローバル一意識別子(GUID)。
- loginName(optional): string
ユーザーのログイン名。
- type(optional): string
アイテム・タイプ
user。
{
"errorCode":"0",
"sourceUser":{
"id":"U0EAA20910FAF3052ACB79E4T00000000001",
"displayName":"User BB",
"loginName":"userBBLoginName",
"type":"user"
},
"targetUser":{
"id":"U7ECC74059E0FEDFEC66BF5AT00000000001",
"displayName":"User AA",
"loginName":"userAALoginName",
"type":"user"
}
}
400レスポンス
必須フィールドが指定されていません。
403レスポンス
未許可アクセス。
404レスポンス
転送元および/または転送先ユーザーが見つかりません。
例
次の例では、すべてのUserBコンテンツをUserAに転送します。 すべてのコンテンツは、UserAホーム・フォルダに作成されるDocuments From UserBという新しいフォルダに移動されます。 この新しいフォルダは、UserBと自動的に共有されます。
POST .../users/UserB/transferContent
リクエスト・ヘッダー
なし。
リクエスト本文
{
"targetUserID": "UserA"
}
HTTPステータス・コード
HTTP_STATUS = 200
JSONレスポンス
{
"errorCode":"0",
"sourceUser":{
"displayName":"UserB",
"id":"U0EAA20910FAF3052ACB79E4T00000000001",
"loginName":"userBLoginName",
"type":"user"
},
"targetUser":{
"displayName":"UserA",
"id":"U7ECC74059E0FEDFEC66BF5AT00000000001",
"loginName":"userALoginName",
"type":"user"
}
}
例2
次の例では、宛先ユーザーなしでUserBコンテンツの転送をリクエストします。
POST .../users/UserB/transferContent
リクエスト・ヘッダー
なし。
リクエスト本文
なし。
HTTPステータス・コード
HTTP_STATUS = 400
JSONレスポンス
{
"errorCode": "-97",
"errorKey": "!csUnableToChangeItemOwner!csRequiredParameterMissing,dTargetUserID",
"errorMessage": "Change of item ownership has failed. Parameter 'dTargetUserID' required by the requested service is missing.",
"title": "Change of item ownership has failed. Parameter 'dTargetUserID' required by the requested service is missing.",
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
例3
次の例では、UserAとしてログインしたUserAへのUserBコンテンツの転送をリクエストします。
POST .../users/UserB/transferContent
リクエスト・ヘッダー
None.
リクエスト本文
None.
HTTPステータス・コード
HTTP_STATUS = 403
JSONレスポンス
{
"errorCode": "-20",
"errorKey": "!csUnableToChangeItemOwner!csCloudServiceInsufficientPrivileges,UserA,TRANSFER_USER_CONTENT",
"errorMessage": "Change of item ownership has failed. User 'UserA' has insufficient privilege to run service TRANSFER_USER_CONTENT.",
"sourceUserID": "UserB",
"targetUserID": "UserA",
"title": "Change of item ownership has failed. User 'UserA' has insufficient privilege to run service TRANSFER_USER_CONTENT.",
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
例4
次の例では、UserBコンテンツの、存在しないUserAAへの転送をリクエストします。
POST .../users/UserB/transferContent
リクエスト・ヘッダー
None.
リクエスト本文
{
"targetUserID": "UserAA"
}
HTTPステータス・コード
HTTP_STATUS = 404
JSONレスポンス
{
"errorCode": "-16",
"errorKey": "!csUnableToChangeItemOwner!csUserNotFound,UserAA",
"errorMessage": "Change of item ownership has failed. User or group 'UserAA' doesn't exist.",
"sourceUserID": "UserB",
"targetUserID": "UserAA",
"title": "Change of item ownership has failed. User or group 'UserAA' doesn't exist.",
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
例5
次の例では、単一のフォルダをUserBからUserAに転送します。 F73FC4CFD165BD76377E0F96E9E6E9FFE4BA8C72AB3Fで識別されたフォルダのみが、UserAホーム・フォルダに作成されるUserBのドキュメントと呼ばれる新しいフォルダに移動されます。 この新しいフォルダは、自動的にUserBと共有されます。
POST .../users/UserB/transferContent
リクエスト・ヘッダー
None.
リクエスト本文
{
"targetUserID": "UserA",
"idList": "F73FC4CFD165BD76377E0F96E9E6E9FFE4BA8C72AB3F"
}
HTTPステータス・コード
HTTP_STATUS = 200
JSONレスポンス
{
"count": "1",
"errorCode": "0",
"idList": "F73FC4CFD165BD76377E0F96E9E6E9FFE4BA8C72AB3F",
"items": [
{
"id": "F73FC4CFD165BD76377E0F96E9E6E9FFE4BA8C72AB3F",
"type": "folder",
"name": "transferFolder",
"parentID": "FCAF58C2CE2809226608A7A0D470065164CFA8E5008C",
"createdTime": "2022-06-07T21:16:38Z",
"modifiedTime": "2022-06-07T21:17:51Z",
"size": "27436",
"childItemsCount": "3",
"childFolderCount": "0",
"childFileCount": "3",
"createdBy": {
"displayName": "ssvrint.userb",
"id": "U50736B544D00DF1EED770AC72F1B43EEA1F",
"loginName": "ssvrint.userb",
"type": "user"
},
"modifiedBy": {
"displayName": "ssvrint.cecsadmina",
"id": "UB3646EFBB265068EB229B3BFB30A8BDA1F1",
"loginName": "ssvrint.cecsadmina",
"type": "user"
},
"ownedBy": {
"displayName": "ssvrint.usera",
"id": "UF23FCDFA872215F048C7EFE6B94D85A1DFA",
"loginName": "ssvrint.usera",
"type": "user"
}
}
],
"sourceUser": {
"displayName": "ssvrint.userb",
"id": "ssvrint.UserB",
"loginName": "ssvrint.userb",
"type": "user"
},
"targetUser": {
"displayName": "ssvrint.usera",
"id": "ssvrint.UserA",
"loginName": "ssvrint.usera",
"type": "user"
},
"type": "folder"
}