Object Body の移動
Object Body を、ある KiiObject から他の KiiObject に移動できます。Object Body の移動は、同一スコープ内で行うことも、スコープをまたいで行う(例:アプリケーションスコープの KiiObject からユーザースコープの KiiObject に移動する)ことも出来ます。
Object Body は、以下の条件が満たされる場合に移動可能です。
- 移動元と移動先の KiiObject の両方に対して、読み取りと更新削除権限の両方を持っていること。
- Object Body 移動時に、移動元と移動先の KiiObject が存在すること。
- 移動元 KiiObject が Object Body を持っていること。
移動先 KiiObject が Object Body を持っている場合は、移動した Object Body により上書きされます。また、公開済み Object Body を移動すると、以後この Object Body にアクセスできなくなります。
移動先 KiiObject の指定はスコープ、Bucket ID、Object ID で行います。スコープは以下のいずれかの形式で指定します。
アプリケーションスコープ:
"targetObjectScope" : { "appID" : "{APP_ID}", "type" : "APP" }
グループスコープ:
"targetObjectScope" : { "appID" : "{APP_ID}", "groupID" : "{GROUP_ID}", "type" : "APP_AND_GROUP" }
ユーザースコープ:
"targetObjectScope" : { "appID" : "{APP_ID}", "userID" : "{USER_ID}", "type" : "APP_AND_USER" }
アプリケーションスコープの KiiObject からユーザースコープの KiiObject に Object Body を移動する例を以下に挙げます。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/vnd.kii.ObjectBodyMoveRequest+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/buckets/{SOURCE_BUCKET_ID}/objects/{SOURCE_OBJECT_ID}/body/move" \
-d '{
"targetObjectScope" : {
"appID" : "{APP_ID}",
"userID" : "{USER_ID}",
"type" : "APP_AND_USER"
},
"targetBucketID" : "{TARGET_BUCKET_ID}",
"targetObjectID" : "{TARGET_OBJECT_ID}"
}'
移動に成功すると Kii Cloud は 204 応答を返します。