Chilkat Online Tools

VB6 / Atlassian Confluence Cloud / Get space property

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

Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("expand","<string>")
success = queryParams.UpdateString("expand","<string>")

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

Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property/:key",queryParams)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

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 = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

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

' {
'   "id": -13429300,
'   "key": "ut veniam dolor",
'   "value": {},
'   "_expandable": {
'     "version": "cillum officia ipsum ut",
'     "space": "in Lorem consectetur"
'   },
'   "version": {
'     "when": "1951-11-29T18:04:27.736Z",
'     "message": "dolore magna nisi incididunt",
'     "number": -49820236,
'     "minorEdit": true
'   },
'   "space": {
'     "id": -20471082,
'     "key": "in pr",
'     "name": "culpa dolor si",
'     "type": "irure dolor ea aliquip",
'     "status": "sed ex",
'     "_expandable": {
'       "settings": "exercitation ea nisi Lorem",
'       "metadata": "elit",
'       "operations": "Lorem consequat aliquip",
'       "lookAndFeel": "non occaecat nisi dolor",
'       "permissions": "pariatur cupidatat dolor sed dolor",
'       "icon": "aliquip",
'       "description": "in",
'       "theme": "qui",
'       "history": "et fugiat culpa irure amet",
'       "homepage": "commodo ut amet aute sint"
'     },
'     "_links": {},
'     "icon": {
'       "path": "laborum velit dolore",
'       "width": -4680192,
'       "height": 21898365,
'       "isDefault": false
'     },
'     "description": {
'       "plain": {
'         "value": "sit deserunt",
'         "representation": "plain",
'         "embeddedContent": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ]
'       },
'       "view": {
'         "value": "commodo dolore do",
'         "representation": "plain",
'         "embeddedContent": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ]
'       }
'     },
'     "homepage": {
'       "value": "<Circular reference to #/components/schemas/Content detected>"
'     },
'     "metadata": {
'       "labels": {
'         "results": [
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         ],
'         "start": 4373903,
'         "limit": -70310049,
'         "size": -89717135,
'         "_links": {}
'       }
'     },
'     "operations": [
'       {
'         "operation": "update",
'         "targetType": "space"
'       },
'       {
'         "operation": "update",
'         "targetType": "attachment"
'       }
'     ],
'     "permissions": [
'       {
'         "subjects": {
'           "_expandable": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "user": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "group": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         },
'         "operation": {
'           "operation": "restore",
'           "targetType": "comment"
'         },
'         "anonymousAccess": false,
'         "unlicensedAccess": false
'       },
'       {
'         "subjects": {
'           "_expandable": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "user": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           },
'           "group": {
'             "value": "<Error: Too many levels of nesting to fake this schema>"
'           }
'         },
'         "operation": {
'           "operation": "export",
'           "targetType": "attachment"
'         },
'         "anonymousAccess": false,
'         "unlicensedAccess": false
'       }
'     ],
'     "settings": {
'       "routeOverrideEnabled": false,
'       "_links": {}
'     },
'     "theme": {},
'     "lookAndFeel": {
'       "headings": {
'         "color": "<string>"
'       },
'       "links": {
'         "color": "<string>"
'       },
'       "menus": {
'         "hoverOrFocus": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "color": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "header": {
'         "backgroundColor": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "button": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "primaryNavigation": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "secondaryNavigation": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "search": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "content": {
'         "screen": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "container": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "header": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         },
'         "body": {
'           "value": "<Error: Too many levels of nesting to fake this schema>"
'         }
'       },
'       "bordersAndDividers": {
'         "color": "<string>"
'       }
'     },
'     "history": {
'       "createdDate": "1978-05-15T09:31:11.737Z"
'     }
'   }
' }

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

Dim value As String
Dim operation As String
Dim targetType As String
Dim v_expandableValue As String
Dim UserValue As String
Dim GroupValue As String
Dim Operation As String
Dim TargetType As String
Dim anonymousAccess As Long
Dim unlicensedAccess As Long

Dim id As Long
id = jResp.IntOf("id")
Dim key As String
key = jResp.StringOf("key")
Dim Version As String
Version = jResp.StringOf("_expandable.version")
Dim Space As String
Space = jResp.StringOf("_expandable.space")
Dim When As String
When = jResp.StringOf("version.when")
Dim Message As String
Message = jResp.StringOf("version.message")
Dim v_Number As Long
v_Number = jResp.IntOf("version.number")
Dim MinorEdit As Long
MinorEdit = jResp.BoolOf("version.minorEdit")
Dim Id As Long
Id = jResp.IntOf("space.id")
Dim Key As String
Key = jResp.StringOf("space.key")
Dim Name As String
Name = jResp.StringOf("space.name")
Dim v_Type As String
v_Type = jResp.StringOf("space.type")
Dim Status As String
Status = jResp.StringOf("space.status")
Dim Settings As String
Settings = jResp.StringOf("space._expandable.settings")
Dim Metadata As String
Metadata = jResp.StringOf("space._expandable.metadata")
Dim Operations As String
Operations = jResp.StringOf("space._expandable.operations")
Dim LookAndFeel As String
LookAndFeel = jResp.StringOf("space._expandable.lookAndFeel")
Dim Permissions As String
Permissions = jResp.StringOf("space._expandable.permissions")
Dim Icon As String
Icon = jResp.StringOf("space._expandable.icon")
Dim Description As String
Description = jResp.StringOf("space._expandable.description")
Dim Theme As String
Theme = jResp.StringOf("space._expandable.theme")
Dim History As String
History = jResp.StringOf("space._expandable.history")
Dim Homepage As String
Homepage = jResp.StringOf("space._expandable.homepage")
Dim Path As String
Path = jResp.StringOf("space.icon.path")
Dim Width As Long
Width = jResp.IntOf("space.icon.width")
Dim Height As Long
Height = jResp.IntOf("space.icon.height")
Dim IsDefault As Long
IsDefault = jResp.BoolOf("space.icon.isDefault")
Dim Value As String
Value = jResp.StringOf("space.description.plain.value")
Dim Representation As String
Representation = jResp.StringOf("space.description.plain.representation")
Dim ViewValue As String
ViewValue = jResp.StringOf("space.description.view.value")
Dim ViewRepresentation As String
ViewRepresentation = jResp.StringOf("space.description.view.representation")
Dim HomepageValue As String
HomepageValue = jResp.StringOf("space.homepage.value")
Dim Start As Long
Start = jResp.IntOf("space.metadata.labels.start")
Dim Limit As Long
Limit = jResp.IntOf("space.metadata.labels.limit")
Dim Size As Long
Size = jResp.IntOf("space.metadata.labels.size")
Dim RouteOverrideEnabled As Long
RouteOverrideEnabled = jResp.BoolOf("space.settings.routeOverrideEnabled")
Dim Color As String
Color = jResp.StringOf("space.lookAndFeel.headings.color")
Dim LinksColor As String
LinksColor = jResp.StringOf("space.lookAndFeel.links.color")
Dim HoverOrFocusValue As String
HoverOrFocusValue = jResp.StringOf("space.lookAndFeel.menus.hoverOrFocus.value")
Dim ColorValue As String
ColorValue = jResp.StringOf("space.lookAndFeel.menus.color.value")
Dim BackgroundColorValue As String
BackgroundColorValue = jResp.StringOf("space.lookAndFeel.header.backgroundColor.value")
Dim ButtonValue As String
ButtonValue = jResp.StringOf("space.lookAndFeel.header.button.value")
Dim PrimaryNavigationValue As String
PrimaryNavigationValue = jResp.StringOf("space.lookAndFeel.header.primaryNavigation.value")
Dim SecondaryNavigationValue As String
SecondaryNavigationValue = jResp.StringOf("space.lookAndFeel.header.secondaryNavigation.value")
Dim SearchValue As String
SearchValue = jResp.StringOf("space.lookAndFeel.header.search.value")
Dim ScreenValue As String
ScreenValue = jResp.StringOf("space.lookAndFeel.content.screen.value")
Dim ContainerValue As String
ContainerValue = jResp.StringOf("space.lookAndFeel.content.container.value")
Dim HeaderValue As String
HeaderValue = jResp.StringOf("space.lookAndFeel.content.header.value")
Dim BodyValue As String
BodyValue = jResp.StringOf("space.lookAndFeel.content.body.value")
Dim BordersAndDividersColor As String
BordersAndDividersColor = jResp.StringOf("space.lookAndFeel.bordersAndDividers.color")
Dim CreatedDate As String
CreatedDate = jResp.StringOf("space.history.createdDate")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("space.description.plain.embeddedContent")
Do While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.description.plain.embeddedContent[i].value")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("space.description.view.embeddedContent")
Do While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.description.view.embeddedContent[i].value")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("space.metadata.labels.results")
Do While i < count_i
    jResp.I = i
    value = jResp.StringOf("space.metadata.labels.results[i].value")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("space.operations")
Do While i < count_i
    jResp.I = i
    operation = jResp.StringOf("space.operations[i].operation")
    targetType = jResp.StringOf("space.operations[i].targetType")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("space.permissions")
Do While i < count_i
    jResp.I = i
    v_expandableValue = jResp.StringOf("space.permissions[i].subjects._expandable.value")
    UserValue = jResp.StringOf("space.permissions[i].subjects.user.value")
    GroupValue = jResp.StringOf("space.permissions[i].subjects.group.value")
    Operation = jResp.StringOf("space.permissions[i].operation.operation")
    TargetType = jResp.StringOf("space.permissions[i].operation.targetType")
    anonymousAccess = jResp.BoolOf("space.permissions[i].anonymousAccess")
    unlicensedAccess = jResp.BoolOf("space.permissions[i].unlicensedAccess")
    i = i + 1
Loop

Curl Command

curl -G -d "expand=%3Cstring%3E"
	-d "expand=%3Cstring%3E"
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/space/:spaceKey/property/:key

Postman Collection Item JSON

{
  "name": "Get space property",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "space",
        ":spaceKey",
        "property",
        ":key"
      ],
      "query": [
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the space\nproperty to expand. By default, the `version` object is expanded.\n\n- `version` returns information about the version of the content.\n- `space` returns the space that the properties are in."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the space\nproperty to expand. By default, the `version` object is expanded.\n\n- `version` returns information about the version of the content.\n- `space` returns the space that the properties are in."
        }
      ],
      "variable": [
        {
          "key": "spaceKey",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The key of the space that the property is in."
        },
        {
          "key": "key",
          "value": "<string>",
          "type": "string",
          "description": "(Required) The key of the space property."
        }
      ]
    },
    "description": "Returns a space property.\n\n**[Permissions required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’ permission for the space."
  },
  "response": [
    {
      "name": "Returned if the requested space property 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/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property",
            ":key"
          ],
          "query": [
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "spaceKey"
            },
            {
              "key": "key"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"id\": -13429300,\n \"key\": \"ut veniam dolor\",\n \"value\": {},\n \"_expandable\": {\n  \"version\": \"cillum officia ipsum ut\",\n  \"space\": \"in Lorem consectetur\"\n },\n \"version\": {\n  \"when\": \"1951-11-29T18:04:27.736Z\",\n  \"message\": \"dolore magna nisi incididunt\",\n  \"number\": -49820236,\n  \"minorEdit\": true\n },\n \"space\": {\n  \"id\": -20471082,\n  \"key\": \"in pr\",\n  \"name\": \"culpa dolor si\",\n  \"type\": \"irure dolor ea aliquip\",\n  \"status\": \"sed ex\",\n  \"_expandable\": {\n   \"settings\": \"exercitation ea nisi Lorem\",\n   \"metadata\": \"elit\",\n   \"operations\": \"Lorem consequat aliquip\",\n   \"lookAndFeel\": \"non occaecat nisi dolor\",\n   \"permissions\": \"pariatur cupidatat dolor sed dolor\",\n   \"icon\": \"aliquip\",\n   \"description\": \"in\",\n   \"theme\": \"qui\",\n   \"history\": \"et fugiat culpa irure amet\",\n   \"homepage\": \"commodo ut amet aute sint\"\n  },\n  \"_links\": {},\n  \"icon\": {\n   \"path\": \"laborum velit dolore\",\n   \"width\": -4680192,\n   \"height\": 21898365,\n   \"isDefault\": false\n  },\n  \"description\": {\n   \"plain\": {\n    \"value\": \"sit deserunt\",\n    \"representation\": \"plain\",\n    \"embeddedContent\": [\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   },\n   \"view\": {\n    \"value\": \"commodo dolore do\",\n    \"representation\": \"plain\",\n    \"embeddedContent\": [\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   }\n  },\n  \"homepage\": {\n   \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n  },\n  \"metadata\": {\n   \"labels\": {\n    \"results\": [\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    \"start\": 4373903,\n    \"limit\": -70310049,\n    \"size\": -89717135,\n    \"_links\": {}\n   }\n  },\n  \"operations\": [\n   {\n    \"operation\": \"update\",\n    \"targetType\": \"space\"\n   },\n   {\n    \"operation\": \"update\",\n    \"targetType\": \"attachment\"\n   }\n  ],\n  \"permissions\": [\n   {\n    \"subjects\": {\n     \"_expandable\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"user\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"group\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    },\n    \"operation\": {\n     \"operation\": \"restore\",\n     \"targetType\": \"comment\"\n    },\n    \"anonymousAccess\": false,\n    \"unlicensedAccess\": false\n   },\n   {\n    \"subjects\": {\n     \"_expandable\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"user\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     },\n     \"group\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    },\n    \"operation\": {\n     \"operation\": \"export\",\n     \"targetType\": \"attachment\"\n    },\n    \"anonymousAccess\": false,\n    \"unlicensedAccess\": false\n   }\n  ],\n  \"settings\": {\n   \"routeOverrideEnabled\": false,\n   \"_links\": {}\n  },\n  \"theme\": {},\n  \"lookAndFeel\": {\n   \"headings\": {\n    \"color\": \"<string>\"\n   },\n   \"links\": {\n    \"color\": \"<string>\"\n   },\n   \"menus\": {\n    \"hoverOrFocus\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"color\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"header\": {\n    \"backgroundColor\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"button\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"primaryNavigation\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"secondaryNavigation\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"search\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"content\": {\n    \"screen\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"container\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"header\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    },\n    \"body\": {\n     \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n    }\n   },\n   \"bordersAndDividers\": {\n    \"color\": \"<string>\"\n   }\n  },\n  \"history\": {\n   \"createdDate\": \"1978-05-15T09:31:11.737Z\"\n  }\n }\n}"
    },
    {
      "name": "Returned if any of the following is true:\n\n- There is no space with the given key.\n- There is no property with the given key.\n- The calling user does not have permission to view the space.",
      "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/space/:spaceKey/property/:key?expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "space",
            ":spaceKey",
            "property",
            ":key"
          ],
          "query": [
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ],
          "variable": [
            {
              "key": "spaceKey"
            },
            {
              "key": "key"
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}