Chilkat Online Tools

VB6 / Atlassian Confluence Cloud / Get content template

Back to Collection Items

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

Dim http As New ChilkatHttp
Dim success As Long

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"

Dim sbResponseBody As New ChilkatStringBuilder
success = http.QuickGetSb("https://your-domain.atlassian.net/wiki/rest/api/template/:contentTemplateId",sbResponseBody)
If (success = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = http.LastStatus
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print http.LastHeader
    Debug.Print "Failed."
    Exit Sub
End If

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

' {
'   "templateId": "id ipsum ut",
'   "name": "sit dolor sint dolore",
'   "description": "magna",
'   "labels": [
'     {
'       "prefix": "fugiat sit Ut in ea",
'       "name": "dolor in",
'       "id": "aliqua culpa veniam ea",
'       "label": "officia tempor ea"
'     },
'     {
'       "prefix": "exercitation culpa proident",
'       "name": "nulla mollit adipis",
'       "id": "laborum sint",
'       "label": "fugiat"
'     }
'   ],
'   "templateType": "in cillum",
'   "_expandable": {
'     "body": "anim aute officia in culpa"
'   },
'   "_links": {},
'   "body": {
'     "value": "aute sit pariatur consequat deserunt",
'     "representation": "anonymous_export_view",
'     "_expandable": {
'       "content": "nulla cillum reprehenderit"
'     },
'     "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>"
'       }
'     }
'   }
' }

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

Dim prefix As String
Dim id As String
Dim label As String
Dim entityIdValue As String
Dim entityValue As String
Dim value As String

Dim templateId As String
templateId = jResp.StringOf("templateId")
Dim name As String
name = jResp.StringOf("name")
Dim description As String
description = jResp.StringOf("description")
Dim templateType As String
templateType = jResp.StringOf("templateType")
Dim Body As String
Body = jResp.StringOf("_expandable.body")
Dim Value As String
Value = jResp.StringOf("body.value")
Dim Representation As String
Representation = jResp.StringOf("body.representation")
Dim Content As String
Content = jResp.StringOf("body._expandable.content")
Dim AllValue As String
AllValue = jResp.StringOf("body.webresource.uris.all.value")
Dim CssValue As String
CssValue = jResp.StringOf("body.webresource.uris.css.value")
Dim JsValue As String
JsValue = jResp.StringOf("body.webresource.uris.js.value")
AllValue = jResp.StringOf("body.webresource.tags.all.value")
CssValue = jResp.StringOf("body.webresource.tags.css.value")
Dim DataValue As String
DataValue = jResp.StringOf("body.webresource.tags.data.value")
JsValue = jResp.StringOf("body.webresource.tags.js.value")
Dim SuperbatchValue As String
SuperbatchValue = jResp.StringOf("body.webresource.superbatch.value")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("labels")
Do While i < count_i
    jResp.I = i
    prefix = jResp.StringOf("labels[i].prefix")
    name = jResp.StringOf("labels[i].name")
    id = jResp.StringOf("labels[i].id")
    label = jResp.StringOf("labels[i].label")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("body.embeddedContent")
Do While i < count_i
    jResp.I = i
    entityIdValue = jResp.StringOf("body.embeddedContent[i].entityId.value")
    entityValue = jResp.StringOf("body.embeddedContent[i].entity.value")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("body.webresource.keys")
Do While i < count_i
    jResp.I = i
    value = jResp.StringOf("body.webresource.keys[i].value")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("body.webresource.contexts")
Do While i < count_i
    jResp.I = i
    value = jResp.StringOf("body.webresource.contexts[i].value")
    i = i + 1
Loop

Curl Command

curl -X GET
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/template/:contentTemplateId

Postman Collection Item JSON

{
  "name": "Get content template",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/template/:contentTemplateId",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "template",
        ":contentTemplateId"
      ],
      "variable": [
        {
          "key": "contentTemplateId",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The ID of the content template to be returned."
        }
      ]
    },
    "description": "Returns a content template. This includes information about template,\nlike the name, the space or blueprint that the template is in, the body\nof the template, and more.\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 template is 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/:contentTemplateId",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            ":contentTemplateId"
          ],
          "variable": [
            {
              "key": "contentTemplateId"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"templateId\": \"id ipsum ut\",\n \"name\": \"sit dolor sint dolore\",\n \"description\": \"magna\",\n \"labels\": [\n  {\n   \"prefix\": \"fugiat sit Ut in ea\",\n   \"name\": \"dolor in\",\n   \"id\": \"aliqua culpa veniam ea\",\n   \"label\": \"officia tempor ea\"\n  },\n  {\n   \"prefix\": \"exercitation culpa proident\",\n   \"name\": \"nulla mollit adipis\",\n   \"id\": \"laborum sint\",\n   \"label\": \"fugiat\"\n  }\n ],\n \"templateType\": \"in cillum\",\n \"_expandable\": {\n  \"body\": \"anim aute officia in culpa\"\n },\n \"_links\": {},\n \"body\": {\n  \"value\": \"aute sit pariatur consequat deserunt\",\n  \"representation\": \"anonymous_export_view\",\n  \"_expandable\": {\n   \"content\": \"nulla cillum reprehenderit\"\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}"
    },
    {
      "name": "Returned if;\n\n- There is no template with the given ID.\n- The calling user does not have permission to view the template.",
      "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/:contentTemplateId",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            ":contentTemplateId"
          ],
          "variable": [
            {
              "key": "contentTemplateId"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}