Chilkat Online Tools

VB.NET / 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 Chilkat.Http
Dim success As Boolean

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

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


Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

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

Dim respStatusCode As Integer = http.LastStatus
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(http.LastHeader)
    Debug.WriteLine("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 = jResp.StringOf("templateId")
Dim name As String = jResp.StringOf("name")
Dim description As String = jResp.StringOf("description")
Dim templateType As String = jResp.StringOf("templateType")
Dim Body As String = jResp.StringOf("_expandable.body")
Dim Value As String = jResp.StringOf("body.value")
Dim Representation As String = jResp.StringOf("body.representation")
Dim Content As String = jResp.StringOf("body._expandable.content")
Dim AllValue As String = jResp.StringOf("body.webresource.uris.all.value")
Dim CssValue As String = jResp.StringOf("body.webresource.uris.css.value")
Dim JsValue As String = 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 = jResp.StringOf("body.webresource.tags.data.value")
JsValue = jResp.StringOf("body.webresource.tags.js.value")
Dim SuperbatchValue As String = jResp.StringOf("body.webresource.superbatch.value")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("labels")
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
End While
i = 0
count_i = jResp.SizeOfArray("body.embeddedContent")
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
End While
i = 0
count_i = jResp.SizeOfArray("body.webresource.keys")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("body.webresource.keys[i].value")
    i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("body.webresource.contexts")
While i < count_i
    jResp.I = i
    value = jResp.StringOf("body.webresource.contexts[i].value")
    i = i + 1
End While

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": ""
    }
  ]
}