Back to Collection Items
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
HCkHttpW http;
BOOL success;
HCkJsonObjectW queryParams;
HCkHttpResponseW resp;
HCkStringBuilderW sbResponseBody;
HCkJsonObjectW jResp;
int respStatusCode;
const wchar_t *v_Type;
const wchar_t *AccountId;
const wchar_t *AccountType;
const wchar_t *v_Email;
const wchar_t *PublicName;
const wchar_t *Path;
int Width;
int Height;
BOOL IsDefault;
const wchar_t *DisplayName;
const wchar_t *Operations;
const wchar_t *Details;
const wchar_t *PersonalSpace;
const wchar_t *Username;
const wchar_t *UserKey;
const wchar_t *Value;
const wchar_t *PersonalValue;
int Id;
const wchar_t *Key;
const wchar_t *Name;
const wchar_t *PersonalSpaceType;
const wchar_t *Status;
const wchar_t *Settings;
const wchar_t *Metadata;
const wchar_t *v_expandableOperations;
const wchar_t *LookAndFeel;
const wchar_t *Permissions;
const wchar_t *Icon;
const wchar_t *Description;
const wchar_t *Theme;
const wchar_t *History;
const wchar_t *Homepage;
const wchar_t *IconPath;
int IconWidth;
int IconHeight;
BOOL IconIsDefault;
const wchar_t *PlainValue;
const wchar_t *Representation;
const wchar_t *ViewValue;
const wchar_t *ViewRepresentation;
const wchar_t *HomepageValue;
int Start;
int Limit;
int Size;
BOOL RouteOverrideEnabled;
const wchar_t *Color;
const wchar_t *LinksColor;
const wchar_t *HoverOrFocusValue;
const wchar_t *ColorValue;
const wchar_t *BackgroundColorValue;
const wchar_t *ButtonValue;
const wchar_t *PrimaryNavigationValue;
const wchar_t *SecondaryNavigationValue;
const wchar_t *SearchValue;
const wchar_t *ScreenValue;
const wchar_t *ContainerValue;
const wchar_t *HeaderValue;
const wchar_t *BodyValue;
const wchar_t *BordersAndDividersColor;
const wchar_t *CreatedDate;
const wchar_t *when;
const wchar_t *friendlyWhen;
const wchar_t *message;
int v_number;
BOOL minorEdit;
const wchar_t *Content;
const wchar_t *Collaborators;
const wchar_t *contentValue;
const wchar_t *UsersValue;
const wchar_t *UserKeysValue;
const wchar_t *v_linksValue;
int j;
int count_j;
const wchar_t *operation;
const wchar_t *targetType;
const wchar_t *value;
const wchar_t *v_expandableValue;
const wchar_t *UserValue;
const wchar_t *GroupValue;
const wchar_t *Operation;
const wchar_t *TargetType;
BOOL anonymousAccess;
BOOL unlicensedAccess;
int start;
int limit;
int size;
int i;
int count_i;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
queryParams = CkJsonObjectW_Create();
CkJsonObjectW_UpdateInt(queryParams,L"start",0);
CkJsonObjectW_UpdateInt(queryParams,L"limit",200);
CkJsonObjectW_UpdateString(queryParams,L"expand",L"<string>");
CkJsonObjectW_UpdateString(queryParams,L"expand",L"<string>");
// Adds the "Authorization: Bearer <access_token>" header.
CkHttpW_putAuthToken(http,L"<access_token>");
resp = CkHttpW_QuickRequestParams(http,L"GET",L"https://your-domain.atlassian.net/wiki/rest/api/content/:id/version",queryParams);
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
return;
}
sbResponseBody = CkStringBuilderW_Create();
CkHttpResponseW_GetBodySb(resp,sbResponseBody);
jResp = CkJsonObjectW_Create();
CkJsonObjectW_LoadSb(jResp,sbResponseBody);
CkJsonObjectW_putEmitCompact(jResp,FALSE);
wprintf(L"Response Body:\n");
wprintf(L"%s\n",CkJsonObjectW_emit(jResp));
respStatusCode = CkHttpResponseW_getStatusCode(resp);
wprintf(L"Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
wprintf(L"Response Header:\n");
wprintf(L"%s\n",CkHttpResponseW_header(resp));
wprintf(L"Failed.\n");
CkHttpResponseW_Dispose(resp);
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
CkStringBuilderW_Dispose(sbResponseBody);
CkJsonObjectW_Dispose(jResp);
return;
}
CkHttpResponseW_Dispose(resp);
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "results": [
// {
// "by": {
// "type": "known",
// "accountId": "nostrud",
// "accountType": "atlassian",
// "email": "anim elit esse ut",
// "publicName": "ullamco",
// "profilePicture": {
// "path": "p",
// "width": -77872476,
// "height": 61065658,
// "isDefault": false
// },
// "displayName": "eu",
// "_expandable": {
// "operations": "Excepteur",
// "details": "consequat irure nostrud Lorem",
// "personalSpace": "aute ullamco mollit"
// },
// "_links": {},
// "username": "nulla laborum",
// "userKey": "elit",
// "operations": [
// {
// "operation": "restore",
// "targetType": "blogpost"
// },
// {
// "operation": "copy",
// "targetType": "attachment"
// }
// ],
// "details": {
// "business": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "personal": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// },
// "personalSpace": {
// "id": -97629470,
// "key": "labore exercitation nulla ex",
// "name": "Duis consectetur anim",
// "type": "laborum reprehenderit laboris Ut",
// "status": "laboris sit mollit nulla",
// "_expandable": {
// "settings": "nisi sit",
// "metadata": "qui do",
// "operations": "v",
// "lookAndFeel": "esse irure aliquip amet dolor",
// "permissions": "cillum mollit",
// "icon": "proident aliquip",
// "description": "voluptate enim",
// "theme": "voluptate",
// "history": "ea tempor",
// "homepage": "esse sed Lorem"
// },
// "_links": {},
// "icon": {
// "path": "nostrud enim mollit voluptate dolor",
// "width": 30074773,
// "height": 56410680,
// "isDefault": true
// },
// "description": {
// "plain": {
// "value": "nostrud in tempor",
// "representation": "view",
// "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": "exercitation Ut",
// "representation": "view",
// "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": 2894494,
// "limit": 84285993,
// "size": -38756606,
// "_links": {}
// }
// },
// "operations": [
// {
// "operation": "delete",
// "targetType": "comment"
// },
// {
// "operation": "purge_version",
// "targetType": "space"
// }
// ],
// "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": "update",
// "targetType": "blogpost"
// },
// "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": "create",
// "targetType": "application"
// },
// "anonymousAccess": false,
// "unlicensedAccess": false
// }
// ],
// "settings": {
// "routeOverrideEnabled": false,
// "_links": {}
// },
// "theme": {},
// "lookAndFeel": {
// "headings": {
// "color": "cillum reprehenderit eu sunt"
// },
// "links": {
// "color": "culpa qui"
// },
// "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": "sed"
// }
// },
// "history": {
// "createdDate": "1952-06-10T14:31:50.998Z"
// }
// }
// },
// "when": "1953-06-13T02:44:53.322Z",
// "friendlyWhen": "magna culpa consectetur et",
// "message": "esse quis id",
// "number": 323605,
// "minorEdit": true,
// "_expandable": {
// "content": "esse ",
// "collaborators": "non Excepteur"
// },
// "_links": {},
// "content": {
// "value": "<Circular reference to #/components/schemas/Content detected>"
// },
// "collaborators": {
// "users": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "userKeys": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "_links": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// }
// },
// {
// "by": {
// "type": "unknown",
// "accountId": "Duis fugiat cupidatat",
// "accountType": "atlassian",
// "email": "ea in quis anim",
// "publicName": "ullamco Lorem in",
// "profilePicture": {
// "path": "est sit",
// "width": -36330137,
// "height": -12646253,
// "isDefault": true
// },
// "displayName": "deserunt a",
// "_expandable": {
// "operations": "velit in quis ipsum",
// "details": "magna ea",
// "personalSpace": "Excepteur eu est"
// },
// "_links": {},
// "username": "eiusmod in cupidatat",
// "userKey": "esse",
// "operations": [
// {
// "operation": "create",
// "targetType": "blogpost"
// },
// {
// "operation": "create",
// "targetType": "blogpost"
// }
// ],
// "details": {
// "business": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "personal": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// },
// "personalSpace": {
// "id": 47490726,
// "key": "velit ",
// "name": "nulla aliqua",
// "type": "ea laboris",
// "status": "cillum adipisicing ullamco laboris",
// "_expandable": {
// "settings": "proident ex",
// "metadata": "quis irure dol",
// "operations": "nostrud eiusmod nisi",
// "lookAndFeel": "exercitation sunt labore non",
// "permissions": "eiusmod in ad fugiat",
// "icon": "nisi nostrud",
// "description": "adipisicing in voluptate",
// "theme": "ad dolore Duis sunt",
// "history": "u",
// "homepage": "nul"
// },
// "_links": {},
// "icon": {
// "path": "cillum sit eu",
// "width": -34925021,
// "height": 90425798,
// "isDefault": false
// },
// "description": {
// "plain": {
// "value": "quis sunt",
// "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": "sit id",
// "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": 83779927,
// "limit": -87535719,
// "size": -65924145,
// "_links": {}
// }
// },
// "operations": [
// {
// "operation": "purge_version",
// "targetType": "attachment"
// },
// {
// "operation": "move",
// "targetType": "application"
// }
// ],
// "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": "export",
// "targetType": "attachment"
// },
// "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": "use",
// "targetType": "page"
// },
// "anonymousAccess": false,
// "unlicensedAccess": false
// }
// ],
// "settings": {
// "routeOverrideEnabled": false,
// "_links": {}
// },
// "theme": {},
// "lookAndFeel": {
// "headings": {
// "color": "veniam"
// },
// "links": {
// "color": "nisi"
// },
// "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": "tempor laboris proident esse do"
// }
// },
// "history": {
// "createdDate": "2007-04-13T10:59:32.679Z"
// }
// }
// },
// "when": "1989-05-19T00:33:37.730Z",
// "friendlyWhen": "irure ut",
// "message": "adipisicing id ad sunt sint",
// "number": 74656274,
// "minorEdit": false,
// "_expandable": {
// "content": "des",
// "collaborators": "eu"
// },
// "_links": {},
// "content": {
// "value": "<Circular reference to #/components/schemas/Content detected>"
// },
// "collaborators": {
// "users": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "userKeys": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// "_links": {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// }
// }
// ],
// "start": 56422235,
// "limit": -9071484,
// "size": 19664442,
// "_links": {}
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
start = CkJsonObjectW_IntOf(jResp,L"start");
limit = CkJsonObjectW_IntOf(jResp,L"limit");
size = CkJsonObjectW_IntOf(jResp,L"size");
i = 0;
count_i = CkJsonObjectW_SizeOfArray(jResp,L"results");
while (i < count_i) {
CkJsonObjectW_putI(jResp,i);
v_Type = CkJsonObjectW_stringOf(jResp,L"results[i].by.type");
AccountId = CkJsonObjectW_stringOf(jResp,L"results[i].by.accountId");
AccountType = CkJsonObjectW_stringOf(jResp,L"results[i].by.accountType");
v_Email = CkJsonObjectW_stringOf(jResp,L"results[i].by.email");
PublicName = CkJsonObjectW_stringOf(jResp,L"results[i].by.publicName");
Path = CkJsonObjectW_stringOf(jResp,L"results[i].by.profilePicture.path");
Width = CkJsonObjectW_IntOf(jResp,L"results[i].by.profilePicture.width");
Height = CkJsonObjectW_IntOf(jResp,L"results[i].by.profilePicture.height");
IsDefault = CkJsonObjectW_BoolOf(jResp,L"results[i].by.profilePicture.isDefault");
DisplayName = CkJsonObjectW_stringOf(jResp,L"results[i].by.displayName");
Operations = CkJsonObjectW_stringOf(jResp,L"results[i].by._expandable.operations");
Details = CkJsonObjectW_stringOf(jResp,L"results[i].by._expandable.details");
PersonalSpace = CkJsonObjectW_stringOf(jResp,L"results[i].by._expandable.personalSpace");
Username = CkJsonObjectW_stringOf(jResp,L"results[i].by.username");
UserKey = CkJsonObjectW_stringOf(jResp,L"results[i].by.userKey");
Value = CkJsonObjectW_stringOf(jResp,L"results[i].by.details.business.value");
PersonalValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.details.personal.value");
Id = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.id");
Key = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.key");
Name = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.name");
PersonalSpaceType = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.type");
Status = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.status");
Settings = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.settings");
Metadata = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.metadata");
v_expandableOperations = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.operations");
LookAndFeel = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.lookAndFeel");
Permissions = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.permissions");
Icon = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.icon");
Description = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.description");
Theme = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.theme");
History = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.history");
Homepage = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace._expandable.homepage");
IconPath = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.icon.path");
IconWidth = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.icon.width");
IconHeight = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.icon.height");
IconIsDefault = CkJsonObjectW_BoolOf(jResp,L"results[i].by.personalSpace.icon.isDefault");
PlainValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.plain.value");
Representation = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.plain.representation");
ViewValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.view.value");
ViewRepresentation = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.view.representation");
HomepageValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.homepage.value");
Start = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.metadata.labels.start");
Limit = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.metadata.labels.limit");
Size = CkJsonObjectW_IntOf(jResp,L"results[i].by.personalSpace.metadata.labels.size");
RouteOverrideEnabled = CkJsonObjectW_BoolOf(jResp,L"results[i].by.personalSpace.settings.routeOverrideEnabled");
Color = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.headings.color");
LinksColor = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.links.color");
HoverOrFocusValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.menus.hoverOrFocus.value");
ColorValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.menus.color.value");
BackgroundColorValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.header.backgroundColor.value");
ButtonValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.header.button.value");
PrimaryNavigationValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.header.primaryNavigation.value");
SecondaryNavigationValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.header.secondaryNavigation.value");
SearchValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.header.search.value");
ScreenValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.content.screen.value");
ContainerValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.content.container.value");
HeaderValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.content.header.value");
BodyValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.content.body.value");
BordersAndDividersColor = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.lookAndFeel.bordersAndDividers.color");
CreatedDate = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.history.createdDate");
when = CkJsonObjectW_stringOf(jResp,L"results[i].when");
friendlyWhen = CkJsonObjectW_stringOf(jResp,L"results[i].friendlyWhen");
message = CkJsonObjectW_stringOf(jResp,L"results[i].message");
v_number = CkJsonObjectW_IntOf(jResp,L"results[i].number");
minorEdit = CkJsonObjectW_BoolOf(jResp,L"results[i].minorEdit");
Content = CkJsonObjectW_stringOf(jResp,L"results[i]._expandable.content");
Collaborators = CkJsonObjectW_stringOf(jResp,L"results[i]._expandable.collaborators");
contentValue = CkJsonObjectW_stringOf(jResp,L"results[i].content.value");
UsersValue = CkJsonObjectW_stringOf(jResp,L"results[i].collaborators.users.value");
UserKeysValue = CkJsonObjectW_stringOf(jResp,L"results[i].collaborators.userKeys.value");
v_linksValue = CkJsonObjectW_stringOf(jResp,L"results[i].collaborators._links.value");
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.operations");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
operation = CkJsonObjectW_stringOf(jResp,L"results[i].by.operations[j].operation");
targetType = CkJsonObjectW_stringOf(jResp,L"results[i].by.operations[j].targetType");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.personalSpace.description.plain.embeddedContent");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.plain.embeddedContent[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.personalSpace.description.view.embeddedContent");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.description.view.embeddedContent[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.personalSpace.metadata.labels.results");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.metadata.labels.results[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.personalSpace.operations");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
operation = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.operations[j].operation");
targetType = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.operations[j].targetType");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"results[i].by.personalSpace.permissions");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
v_expandableValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.permissions[j].subjects._expandable.value");
UserValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.permissions[j].subjects.user.value");
GroupValue = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.permissions[j].subjects.group.value");
Operation = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.permissions[j].operation.operation");
TargetType = CkJsonObjectW_stringOf(jResp,L"results[i].by.personalSpace.permissions[j].operation.targetType");
anonymousAccess = CkJsonObjectW_BoolOf(jResp,L"results[i].by.personalSpace.permissions[j].anonymousAccess");
unlicensedAccess = CkJsonObjectW_BoolOf(jResp,L"results[i].by.personalSpace.permissions[j].unlicensedAccess");
j = j + 1;
}
i = i + 1;
}
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
CkStringBuilderW_Dispose(sbResponseBody);
CkJsonObjectW_Dispose(jResp);
}
Curl Command
curl -G -d "start=0"
-d "limit=200"
-d "expand=%3Cstring%3E"
-d "expand=%3Cstring%3E"
-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/content/:id/version
Postman Collection Item JSON
{
"name": "Get content versions",
"request": {
"auth": {
"type": "oauth2"
},
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"content",
":id",
"version"
],
"query": [
{
"key": "start",
"value": "0",
"description": "The starting index of the returned versions."
},
{
"key": "limit",
"value": "200",
"description": "The maximum number of versions 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 content to expand.\n\n- `collaborators` returns the users that collaborated on the version.\n- `content` returns the content for the version."
},
{
"key": "expand",
"value": "<string>",
"description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `collaborators` returns the users that collaborated on the version.\n- `content` returns the content for the version."
}
],
"variable": [
{
"key": "id",
"value": "<string>",
"type": "string",
"description": "(Required) The ID of the content to be queried for its versions."
}
]
},
"description": "Returns the versions for a piece of content in descending order.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content. If the content is a blog post, 'View' permission\nfor the space is required."
},
"response": [
{
"name": "Returned if the requested versions 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/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"content",
":id",
"version"
],
"query": [
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "200"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"results\": [\n {\n \"by\": {\n \"type\": \"known\",\n \"accountId\": \"nostrud\",\n \"accountType\": \"atlassian\",\n \"email\": \"anim elit esse ut\",\n \"publicName\": \"ullamco\",\n \"profilePicture\": {\n \"path\": \"p\",\n \"width\": -77872476,\n \"height\": 61065658,\n \"isDefault\": false\n },\n \"displayName\": \"eu\",\n \"_expandable\": {\n \"operations\": \"Excepteur\",\n \"details\": \"consequat irure nostrud Lorem\",\n \"personalSpace\": \"aute ullamco mollit\"\n },\n \"_links\": {},\n \"username\": \"nulla laborum\",\n \"userKey\": \"elit\",\n \"operations\": [\n {\n \"operation\": \"restore\",\n \"targetType\": \"blogpost\"\n },\n {\n \"operation\": \"copy\",\n \"targetType\": \"attachment\"\n }\n ],\n \"details\": {\n \"business\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"personal\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"personalSpace\": {\n \"id\": -97629470,\n \"key\": \"labore exercitation nulla ex\",\n \"name\": \"Duis consectetur anim\",\n \"type\": \"laborum reprehenderit laboris Ut\",\n \"status\": \"laboris sit mollit nulla\",\n \"_expandable\": {\n \"settings\": \"nisi sit\",\n \"metadata\": \"qui do\",\n \"operations\": \"v\",\n \"lookAndFeel\": \"esse irure aliquip amet dolor\",\n \"permissions\": \"cillum mollit\",\n \"icon\": \"proident aliquip\",\n \"description\": \"voluptate enim\",\n \"theme\": \"voluptate\",\n \"history\": \"ea tempor\",\n \"homepage\": \"esse sed Lorem\"\n },\n \"_links\": {},\n \"icon\": {\n \"path\": \"nostrud enim mollit voluptate dolor\",\n \"width\": 30074773,\n \"height\": 56410680,\n \"isDefault\": true\n },\n \"description\": {\n \"plain\": {\n \"value\": \"nostrud in tempor\",\n \"representation\": \"view\",\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\": \"exercitation Ut\",\n \"representation\": \"view\",\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\": 2894494,\n \"limit\": 84285993,\n \"size\": -38756606,\n \"_links\": {}\n }\n },\n \"operations\": [\n {\n \"operation\": \"delete\",\n \"targetType\": \"comment\"\n },\n {\n \"operation\": \"purge_version\",\n \"targetType\": \"space\"\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\": \"update\",\n \"targetType\": \"blogpost\"\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\": \"create\",\n \"targetType\": \"application\"\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\": \"cillum reprehenderit eu sunt\"\n },\n \"links\": {\n \"color\": \"culpa qui\"\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\": \"sed\"\n }\n },\n \"history\": {\n \"createdDate\": \"1952-06-10T14:31:50.998Z\"\n }\n }\n },\n \"when\": \"1953-06-13T02:44:53.322Z\",\n \"friendlyWhen\": \"magna culpa consectetur et\",\n \"message\": \"esse quis id\",\n \"number\": 323605,\n \"minorEdit\": true,\n \"_expandable\": {\n \"content\": \"esse \",\n \"collaborators\": \"non Excepteur\"\n },\n \"_links\": {},\n \"content\": {\n \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n },\n \"collaborators\": {\n \"users\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"userKeys\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"_links\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n },\n {\n \"by\": {\n \"type\": \"unknown\",\n \"accountId\": \"Duis fugiat cupidatat\",\n \"accountType\": \"atlassian\",\n \"email\": \"ea in quis anim\",\n \"publicName\": \"ullamco Lorem in\",\n \"profilePicture\": {\n \"path\": \"est sit\",\n \"width\": -36330137,\n \"height\": -12646253,\n \"isDefault\": true\n },\n \"displayName\": \"deserunt a\",\n \"_expandable\": {\n \"operations\": \"velit in quis ipsum\",\n \"details\": \"magna ea\",\n \"personalSpace\": \"Excepteur eu est\"\n },\n \"_links\": {},\n \"username\": \"eiusmod in cupidatat\",\n \"userKey\": \"esse\",\n \"operations\": [\n {\n \"operation\": \"create\",\n \"targetType\": \"blogpost\"\n },\n {\n \"operation\": \"create\",\n \"targetType\": \"blogpost\"\n }\n ],\n \"details\": {\n \"business\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"personal\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"personalSpace\": {\n \"id\": 47490726,\n \"key\": \"velit \",\n \"name\": \"nulla aliqua\",\n \"type\": \"ea laboris\",\n \"status\": \"cillum adipisicing ullamco laboris\",\n \"_expandable\": {\n \"settings\": \"proident ex\",\n \"metadata\": \"quis irure dol\",\n \"operations\": \"nostrud eiusmod nisi\",\n \"lookAndFeel\": \"exercitation sunt labore non\",\n \"permissions\": \"eiusmod in ad fugiat\",\n \"icon\": \"nisi nostrud\",\n \"description\": \"adipisicing in voluptate\",\n \"theme\": \"ad dolore Duis sunt\",\n \"history\": \"u\",\n \"homepage\": \"nul\"\n },\n \"_links\": {},\n \"icon\": {\n \"path\": \"cillum sit eu\",\n \"width\": -34925021,\n \"height\": 90425798,\n \"isDefault\": false\n },\n \"description\": {\n \"plain\": {\n \"value\": \"quis sunt\",\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\": \"sit id\",\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\": 83779927,\n \"limit\": -87535719,\n \"size\": -65924145,\n \"_links\": {}\n }\n },\n \"operations\": [\n {\n \"operation\": \"purge_version\",\n \"targetType\": \"attachment\"\n },\n {\n \"operation\": \"move\",\n \"targetType\": \"application\"\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\": \"export\",\n \"targetType\": \"attachment\"\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\": \"use\",\n \"targetType\": \"page\"\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\": \"veniam\"\n },\n \"links\": {\n \"color\": \"nisi\"\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\": \"tempor laboris proident esse do\"\n }\n },\n \"history\": {\n \"createdDate\": \"2007-04-13T10:59:32.679Z\"\n }\n }\n },\n \"when\": \"1989-05-19T00:33:37.730Z\",\n \"friendlyWhen\": \"irure ut\",\n \"message\": \"adipisicing id ad sunt sint\",\n \"number\": 74656274,\n \"minorEdit\": false,\n \"_expandable\": {\n \"content\": \"des\",\n \"collaborators\": \"eu\"\n },\n \"_links\": {},\n \"content\": {\n \"value\": \"<Circular reference to #/components/schemas/Content detected>\"\n },\n \"collaborators\": {\n \"users\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"userKeys\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"_links\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n }\n ],\n \"start\": 56422235,\n \"limit\": -9071484,\n \"size\": 19664442,\n \"_links\": {}\n}"
},
{
"name": "Returned if the calling user does not have permission to view the\ncontent.",
"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/content/:id/version?start=0&limit=200&expand=<string>&expand=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"content",
":id",
"version"
],
"query": [
{
"key": "start",
"value": "0"
},
{
"key": "limit",
"value": "200"
},
{
"key": "expand",
"value": "<string>"
},
{
"key": "expand",
"value": "<string>"
}
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}