Chilkat Online Tools

Android / Atlassian Confluence Cloud / Copy page hierarchy

Back to Collection Items

// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkHttp http = new CkHttp();
    boolean success;

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "destinationPageId": "Duis in",
    //   "copyAttachments": false,
    //   "copyPermissions": false,
    //   "copyProperties": false,
    //   "copyLabels": false,
    //   "copyCustomContents": false,
    //   "titleOptions": {
    //     "prefix": "<string>",
    //     "replace": "<string>",
    //     "search": "<string>"
    //   }
    // }

    CkJsonObject json = new CkJsonObject();
    json.UpdateString("destinationPageId","Duis in");
    json.UpdateBool("copyAttachments",false);
    json.UpdateBool("copyPermissions",false);
    json.UpdateBool("copyProperties",false);
    json.UpdateBool("copyLabels",false);
    json.UpdateBool("copyCustomContents",false);
    json.UpdateString("titleOptions.prefix","<string>");
    json.UpdateString("titleOptions.replace","<string>");
    json.UpdateString("titleOptions.search","<string>");

    // Adds the "Authorization: Bearer <access_token>" header.
    http.put_AuthToken("<access_token>");
    http.SetRequestHeader("Content-Type","application/json");

    CkHttpResponse resp = http.PostJson3("https://your-domain.atlassian.net/wiki/rest/api/content/:id/pagehierarchy/copy","application/json",json);
    if (http.get_LastMethodSuccess() == false) {
        Log.i(TAG, http.lastErrorText());
        return;
        }

    Log.i(TAG, String.valueOf(resp.get_StatusCode()));
    Log.i(TAG, resp.bodyStr());


  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
    "destinationPageId": "Duis in",
    "copyAttachments": false,
    "copyPermissions": false,
    "copyProperties": false,
    "copyLabels": false,
    "copyCustomContents": false,
    "titleOptions": {
        "prefix": "<string>",
        "replace": "<string>",
        "search": "<string>"
    }
}'
https://your-domain.atlassian.net/wiki/rest/api/content/:id/pagehierarchy/copy

Postman Collection Item JSON

{
  "name": "Copy page hierarchy",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"destinationPageId\": \"Duis in\",\n    \"copyAttachments\": false,\n    \"copyPermissions\": false,\n    \"copyProperties\": false,\n    \"copyLabels\": false,\n    \"copyCustomContents\": false,\n    \"titleOptions\": {\n        \"prefix\": \"<string>\",\n        \"replace\": \"<string>\",\n        \"search\": \"<string>\"\n    }\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/api/content/:id/pagehierarchy/copy",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "content",
        ":id",
        "pagehierarchy",
        "copy"
      ],
      "variable": [
        {
          "key": "id",
          "value": "<string>",
          "type": "string",
          "description": "(Required) "
        }
      ]
    },
    "description": "Copy page hierarchy allows the copying of an entire hierarchy of pages and their associated properties, permissions and attachments.\n The id path parameter refers to the content id of the page to copy, and the new parent of this copied page is defined using the destinationPageId in the request body.\n The titleOptions object defines the rules of renaming page titles during the copy;\n for example, search and replace can be used in conjunction to rewrite the copied page titles.\n\n Response example:\n <pre><code>\n {\n      \"id\" : \"1180606\",\n      \"links\" : {\n           \"status\" : \"/rest/api/longtask/1180606\"\n      }\n }\n </code></pre>\n Use the /longtask/<taskId> REST API to get the copy task status."
  },
  "response": [
    {
      "name": "Returns a full JSON representation of a long running task",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"destinationPageId\": \"id in esse\",\n    \"copyAttachments\": false,\n    \"copyPermissions\": false,\n    \"copyProperties\": false,\n    \"copyLabels\": false,\n    \"copyCustomContents\": false,\n    \"titleOptions\": {\n        \"prefix\": \"<string>\",\n        \"replace\": \"<string>\",\n        \"search\": \"<string>\"\n    }\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/content/:id/pagehierarchy/copy",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "content",
            ":id",
            "pagehierarchy",
            "copy"
          ],
          "variable": [
            {
              "key": "id"
            }
          ]
        }
      },
      "status": "Accepted",
      "code": 202,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Returned if original page or destination page doesn't exist.",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"destinationPageId\": \"id in esse\",\n    \"copyAttachments\": false,\n    \"copyPermissions\": false,\n    \"copyProperties\": false,\n    \"copyLabels\": false,\n    \"copyCustomContents\": false,\n    \"titleOptions\": {\n        \"prefix\": \"<string>\",\n        \"replace\": \"<string>\",\n        \"search\": \"<string>\"\n    }\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/content/:id/pagehierarchy/copy",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "content",
            ":id",
            "pagehierarchy",
            "copy"
          ],
          "variable": [
            {
              "key": "id"
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Returned if the user does not have permission to create content at destination",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"destinationPageId\": \"id in esse\",\n    \"copyAttachments\": false,\n    \"copyPermissions\": false,\n    \"copyProperties\": false,\n    \"copyLabels\": false,\n    \"copyCustomContents\": false,\n    \"titleOptions\": {\n        \"prefix\": \"<string>\",\n        \"replace\": \"<string>\",\n        \"search\": \"<string>\"\n    }\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/content/:id/pagehierarchy/copy",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "content",
            ":id",
            "pagehierarchy",
            "copy"
          ],
          "variable": [
            {
              "key": "id"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}