Chilkat Online Tools

Foxpro / Atlassian Confluence Cloud / Get space property

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcValue
LOCAL lcOperation
LOCAL lcTargetType
LOCAL lcV_expandableValue
LOCAL lcUserValue
LOCAL lcGroupValue
LOCAL lcOperation
LOCAL lcTargetType
LOCAL lnAnonymousAccess
LOCAL lnUnlicensedAccess
LOCAL lnId
LOCAL lcKey
LOCAL lcVersion
LOCAL lcSpace
LOCAL lcWhen
LOCAL lcMessage
LOCAL lnV_Number
LOCAL lnMinorEdit
LOCAL lnId
LOCAL lcKey
LOCAL lcName
LOCAL lcV_Type
LOCAL lcStatus
LOCAL lcSettings
LOCAL lcMetadata
LOCAL lcOperations
LOCAL lcLookAndFeel
LOCAL lcPermissions
LOCAL lcIcon
LOCAL lcDescription
LOCAL lcTheme
LOCAL lcHistory
LOCAL lcHomepage
LOCAL lcPath
LOCAL lnWidth
LOCAL lnHeight
LOCAL lnIsDefault
LOCAL lcValue
LOCAL lcRepresentation
LOCAL lcViewValue
LOCAL lcViewRepresentation
LOCAL lcHomepageValue
LOCAL lnStart
LOCAL lnLimit
LOCAL lnSize
LOCAL lnRouteOverrideEnabled
LOCAL lcColor
LOCAL lcLinksColor
LOCAL lcHoverOrFocusValue
LOCAL lcColorValue
LOCAL lcBackgroundColorValue
LOCAL lcButtonValue
LOCAL lcPrimaryNavigationValue
LOCAL lcSecondaryNavigationValue
LOCAL lcSearchValue
LOCAL lcScreenValue
LOCAL lcContainerValue
LOCAL lcHeaderValue
LOCAL lcBodyValue
LOCAL lcBordersAndDividersColor
LOCAL lcCreatedDate
LOCAL i
LOCAL lnCount_i

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

loHttp = CreateObject('Chilkat_9_5_0.Http')

loQueryParams = CreateObject('Chilkat_9_5_0.JsonObject')
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/space/:spaceKey/property/:key",loQueryParams)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJResp = CreateObject('Chilkat_9_5_0.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)

* {
*   "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

lnId = loJResp.IntOf("id")
lcKey = loJResp.StringOf("key")
lcVersion = loJResp.StringOf("_expandable.version")
lcSpace = loJResp.StringOf("_expandable.space")
lcWhen = loJResp.StringOf("version.when")
lcMessage = loJResp.StringOf("version.message")
lnV_Number = loJResp.IntOf("version.number")
lnMinorEdit = loJResp.BoolOf("version.minorEdit")
lnId = loJResp.IntOf("space.id")
lcKey = loJResp.StringOf("space.key")
lcName = loJResp.StringOf("space.name")
lcV_Type = loJResp.StringOf("space.type")
lcStatus = loJResp.StringOf("space.status")
lcSettings = loJResp.StringOf("space._expandable.settings")
lcMetadata = loJResp.StringOf("space._expandable.metadata")
lcOperations = loJResp.StringOf("space._expandable.operations")
lcLookAndFeel = loJResp.StringOf("space._expandable.lookAndFeel")
lcPermissions = loJResp.StringOf("space._expandable.permissions")
lcIcon = loJResp.StringOf("space._expandable.icon")
lcDescription = loJResp.StringOf("space._expandable.description")
lcTheme = loJResp.StringOf("space._expandable.theme")
lcHistory = loJResp.StringOf("space._expandable.history")
lcHomepage = loJResp.StringOf("space._expandable.homepage")
lcPath = loJResp.StringOf("space.icon.path")
lnWidth = loJResp.IntOf("space.icon.width")
lnHeight = loJResp.IntOf("space.icon.height")
lnIsDefault = loJResp.BoolOf("space.icon.isDefault")
lcValue = loJResp.StringOf("space.description.plain.value")
lcRepresentation = loJResp.StringOf("space.description.plain.representation")
lcViewValue = loJResp.StringOf("space.description.view.value")
lcViewRepresentation = loJResp.StringOf("space.description.view.representation")
lcHomepageValue = loJResp.StringOf("space.homepage.value")
lnStart = loJResp.IntOf("space.metadata.labels.start")
lnLimit = loJResp.IntOf("space.metadata.labels.limit")
lnSize = loJResp.IntOf("space.metadata.labels.size")
lnRouteOverrideEnabled = loJResp.BoolOf("space.settings.routeOverrideEnabled")
lcColor = loJResp.StringOf("space.lookAndFeel.headings.color")
lcLinksColor = loJResp.StringOf("space.lookAndFeel.links.color")
lcHoverOrFocusValue = loJResp.StringOf("space.lookAndFeel.menus.hoverOrFocus.value")
lcColorValue = loJResp.StringOf("space.lookAndFeel.menus.color.value")
lcBackgroundColorValue = loJResp.StringOf("space.lookAndFeel.header.backgroundColor.value")
lcButtonValue = loJResp.StringOf("space.lookAndFeel.header.button.value")
lcPrimaryNavigationValue = loJResp.StringOf("space.lookAndFeel.header.primaryNavigation.value")
lcSecondaryNavigationValue = loJResp.StringOf("space.lookAndFeel.header.secondaryNavigation.value")
lcSearchValue = loJResp.StringOf("space.lookAndFeel.header.search.value")
lcScreenValue = loJResp.StringOf("space.lookAndFeel.content.screen.value")
lcContainerValue = loJResp.StringOf("space.lookAndFeel.content.container.value")
lcHeaderValue = loJResp.StringOf("space.lookAndFeel.content.header.value")
lcBodyValue = loJResp.StringOf("space.lookAndFeel.content.body.value")
lcBordersAndDividersColor = loJResp.StringOf("space.lookAndFeel.bordersAndDividers.color")
lcCreatedDate = loJResp.StringOf("space.history.createdDate")
i = 0
lnCount_i = loJResp.SizeOfArray("space.description.plain.embeddedContent")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("space.description.plain.embeddedContent[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("space.description.view.embeddedContent")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("space.description.view.embeddedContent[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("space.metadata.labels.results")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcValue = loJResp.StringOf("space.metadata.labels.results[i].value")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("space.operations")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcOperation = loJResp.StringOf("space.operations[i].operation")
    lcTargetType = loJResp.StringOf("space.operations[i].targetType")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJResp.SizeOfArray("space.permissions")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcV_expandableValue = loJResp.StringOf("space.permissions[i].subjects._expandable.value")
    lcUserValue = loJResp.StringOf("space.permissions[i].subjects.user.value")
    lcGroupValue = loJResp.StringOf("space.permissions[i].subjects.group.value")
    lcOperation = loJResp.StringOf("space.permissions[i].operation.operation")
    lcTargetType = loJResp.StringOf("space.permissions[i].operation.targetType")
    lnAnonymousAccess = loJResp.BoolOf("space.permissions[i].anonymousAccess")
    lnUnlicensedAccess = loJResp.BoolOf("space.permissions[i].unlicensedAccess")
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loSbResponseBody
RELEASE loJResp

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