Chilkat Online Tools

Foxpro / Atlassian Confluence Cloud / Get content templates

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcTemplateId
LOCAL lcName
LOCAL lcDescription
LOCAL lcTemplateType
LOCAL lcBody
LOCAL lcValue
LOCAL lcRepresentation
LOCAL lcContent
LOCAL lcAllValue
LOCAL lcCssValue
LOCAL lcJsValue
LOCAL lcDataValue
LOCAL lcSuperbatchValue
LOCAL j
LOCAL lnCount_j
LOCAL lcPrefix
LOCAL lcId
LOCAL lcLabel
LOCAL lcEntityIdValue
LOCAL lcEntityValue
LOCAL lcValue
LOCAL lnStart
LOCAL lnLimit
LOCAL lnSize
LOCAL i
LOCAL lnCount_i

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

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loQueryParams = CreateObject('Chilkat.JsonObject')
loQueryParams.UpdateString("spaceKey","<string>")
loQueryParams.UpdateInt("start",0)
loQueryParams.UpdateInt("limit",25)
loQueryParams.UpdateString("expand","<string>")
loQueryParams.UpdateString("expand","<string>")

* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

loResp = loHttp.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/template/page",loQueryParams)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    CANCEL
ENDIF

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder')
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)

* {
*   "results": [
*     {
*       "templateId": "pariatur adipisicing non Ut",
*       "name": "enim ullamco officia eu",
*       "description": "culpa",
*       "labels": [
*         {
*           "prefix": "Ut id pariatur",
*           "name": "amet ipsum reprehenderit",
*           "id": "ipsum",
*           "label": "do consectetur"
*         },
*         {
*           "prefix": "irure elit",
*           "name": "laboris cillum dolor pariatur aliquip",
*           "id": "deserunt consectetur d",
*           "label": "nisi ex"
*         }
*       ],
*       "templateType": "sunt eu",
*       "_expandable": {
*         "body": "Excepteur velit aliquip"
*       },
*       "_links": {},
*       "body": {
*         "value": "sint dolor mollit",
*         "representation": "view",
*         "_expandable": {
*           "content": "dolor"
*         },
*         "embeddedContent": [
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           }
*         ],
*         "webresource": {
*           "keys": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "contexts": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "uris": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "tags": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "data": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "superbatch": {
*             "value": "<Error: Too many levels of nesting to fake this schema>"
*           }
*         }
*       }
*     },
*     {
*       "templateId": "qui officia aute",
*       "name": "deserunt",
*       "description": "velit laborum cupidatat anim",
*       "labels": [
*         {
*           "prefix": "magna Ut",
*           "name": "culpa quis Duis",
*           "id": "et enim eiusmod quis",
*           "label": "elit qui"
*         },
*         {
*           "prefix": "eu proident",
*           "name": "pariatur non",
*           "id": "magna adipisicing ea amet sunt",
*           "label": "qui"
*         }
*       ],
*       "templateType": "nulla exercitation",
*       "_expandable": {
*         "body": "amet"
*       },
*       "_links": {},
*       "body": {
*         "value": "in ea consectetur",
*         "representation": "storage",
*         "_expandable": {
*           "content": "aliquip magna eu do "
*         },
*         "embeddedContent": [
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           }
*         ],
*         "webresource": {
*           "keys": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "contexts": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "uris": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "tags": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "data": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "superbatch": {
*             "value": "<Error: Too many levels of nesting to fake this schema>"
*           }
*         }
*       }
*     }
*   ],
*   "start": -93900983,
*   "limit": -84771492,
*   "size": -63798652,
*   "_links": {}
* }

* Sample code for parsing the JSON response...
* Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

lnStart = loJResp.IntOf("start")
lnLimit = loJResp.IntOf("limit")
lnSize = loJResp.IntOf("size")
i = 0
lnCount_i = loJResp.SizeOfArray("results")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcTemplateId = loJResp.StringOf("results[i].templateId")
    lcName = loJResp.StringOf("results[i].name")
    lcDescription = loJResp.StringOf("results[i].description")
    lcTemplateType = loJResp.StringOf("results[i].templateType")
    lcBody = loJResp.StringOf("results[i]._expandable.body")
    lcValue = loJResp.StringOf("results[i].body.value")
    lcRepresentation = loJResp.StringOf("results[i].body.representation")
    lcContent = loJResp.StringOf("results[i].body._expandable.content")
    lcAllValue = loJResp.StringOf("results[i].body.webresource.uris.all.value")
    lcCssValue = loJResp.StringOf("results[i].body.webresource.uris.css.value")
    lcJsValue = loJResp.StringOf("results[i].body.webresource.uris.js.value")
    lcAllValue = loJResp.StringOf("results[i].body.webresource.tags.all.value")
    lcCssValue = loJResp.StringOf("results[i].body.webresource.tags.css.value")
    lcDataValue = loJResp.StringOf("results[i].body.webresource.tags.data.value")
    lcJsValue = loJResp.StringOf("results[i].body.webresource.tags.js.value")
    lcSuperbatchValue = loJResp.StringOf("results[i].body.webresource.superbatch.value")
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].labels")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcPrefix = loJResp.StringOf("results[i].labels[j].prefix")
        lcName = loJResp.StringOf("results[i].labels[j].name")
        lcId = loJResp.StringOf("results[i].labels[j].id")
        lcLabel = loJResp.StringOf("results[i].labels[j].label")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.embeddedContent")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcEntityIdValue = loJResp.StringOf("results[i].body.embeddedContent[j].entityId.value")
        lcEntityValue = loJResp.StringOf("results[i].body.embeddedContent[j].entity.value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.webresource.keys")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("results[i].body.webresource.keys[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.webresource.contexts")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("results[i].body.webresource.contexts[j].value")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

curl -G -d "spaceKey=%3Cstring%3E"
	-d "start=0"
	-d "limit=25"
	-d "expand=%3Cstring%3E"
	-d "expand=%3Cstring%3E"
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/template/page

Postman Collection Item JSON

{
  "name": "Get content templates",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/template/page?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "template",
        "page"
      ],
      "query": [
        {
          "key": "spaceKey",
          "value": "<string>",
          "description": "The key of the space to be queried for templates. If the `spaceKey`\nis not specified, global templates will be returned."
        },
        {
          "key": "start",
          "value": "0",
          "description": "The starting index of the returned templates."
        },
        {
          "key": "limit",
          "value": "25",
          "description": "The maximum number of templates to return per page.\nNote, this may be restricted by fixed system limits."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
        }
      ]
    },
    "description": "Returns all content templates. Use this method to retrieve all global\ncontent templates or all content templates in a space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space to view space templates and 'Confluence\nAdministrator' global permission to view global templates."
  },
  "response": [
    {
      "name": "Returned if the requested templates are returned.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/template/page?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            "page"
          ],
          "query": [
            {
              "key": "spaceKey",
              "value": "<string>"
            },
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "25"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"results\": [\n  {\n   \"templateId\": \"pariatur adipisicing non Ut\",\n   \"name\": \"enim ullamco officia eu\",\n   \"description\": \"culpa\",\n   \"labels\": [\n    {\n     \"prefix\": \"Ut id pariatur\",\n     \"name\": \"amet ipsum reprehenderit\",\n     \"id\": \"ipsum\",\n     \"label\": \"do consectetur\"\n    },\n    {\n     \"prefix\": \"irure elit\",\n     \"name\": \"laboris cillum dolor pariatur aliquip\",\n     \"id\": \"deserunt consectetur d\",\n     \"label\": \"nisi ex\"\n    }\n   ],\n   \"templateType\": \"sunt eu\",\n   \"_expandable\": {\n    \"body\": \"Excepteur velit aliquip\"\n   },\n   \"_links\": {},\n   \"body\": {\n    \"value\": \"sint dolor mollit\",\n    \"representation\": \"view\",\n    \"_expandable\": {\n     \"content\": \"dolor\"\n    },\n    \"embeddedContent\": [\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     }\n    ],\n    \"webresource\": {\n     \"keys\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"contexts\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"uris\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"tags\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"data\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"superbatch\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    }\n   }\n  },\n  {\n   \"templateId\": \"qui officia aute\",\n   \"name\": \"deserunt\",\n   \"description\": \"velit laborum cupidatat anim\",\n   \"labels\": [\n    {\n     \"prefix\": \"magna Ut\",\n     \"name\": \"culpa quis Duis\",\n     \"id\": \"et enim eiusmod quis\",\n     \"label\": \"elit qui\"\n    },\n    {\n     \"prefix\": \"eu proident\",\n     \"name\": \"pariatur non\",\n     \"id\": \"magna adipisicing ea amet sunt\",\n     \"label\": \"qui\"\n    }\n   ],\n   \"templateType\": \"nulla exercitation\",\n   \"_expandable\": {\n    \"body\": \"amet\"\n   },\n   \"_links\": {},\n   \"body\": {\n    \"value\": \"in ea consectetur\",\n    \"representation\": \"storage\",\n    \"_expandable\": {\n     \"content\": \"aliquip magna eu do \"\n    },\n    \"embeddedContent\": [\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     }\n    ],\n    \"webresource\": {\n     \"keys\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"contexts\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"uris\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"tags\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"data\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"superbatch\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    }\n   }\n  }\n ],\n \"start\": -93900983,\n \"limit\": -84771492,\n \"size\": -63798652,\n \"_links\": {}\n}"
    },
    {
      "name": "Returned if the calling user does not have permission to view the\ncontent templates.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/template/page?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            "page"
          ],
          "query": [
            {
              "key": "spaceKey",
              "value": "<string>"
            },
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "25"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}