Back to Collection Items
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
BOOL success;
CkoJsonObject *queryParams = [[CkoJsonObject alloc] init];
[queryParams UpdateInt: @"start" value: [NSNumber numberWithInt: 0]];
[queryParams UpdateInt: @"limit" value: [NSNumber numberWithInt: 200]];
[queryParams UpdateString: @"expand" value: @"<string>"];
[queryParams UpdateString: @"expand" value: @"<string>"];
// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = @"<access_token>";
CkoHttpResponse *resp = [http QuickRequestParams: @"GET" url: @"https://your-domain.atlassian.net/wiki/rest/api/content/:id/version" json: queryParams];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
[resp GetBodySb: sbResponseBody];
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[jResp LoadSb: sbResponseBody];
jResp.EmitCompact = NO;
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[jResp Emit]);
int respStatusCode = [resp.StatusCode intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode >= 400) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",resp.Header);
NSLog(@"%@",@"Failed.");
return;
}
// 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
NSString *v_Type = 0;
NSString *AccountId = 0;
NSString *AccountType = 0;
NSString *v_Email = 0;
NSString *PublicName = 0;
NSString *Path = 0;
int Width;
int Height;
BOOL IsDefault;
NSString *DisplayName = 0;
NSString *Operations = 0;
NSString *Details = 0;
NSString *PersonalSpace = 0;
NSString *Username = 0;
NSString *UserKey = 0;
NSString *Value = 0;
NSString *PersonalValue = 0;
int Id;
NSString *Key = 0;
NSString *Name = 0;
NSString *PersonalSpaceType = 0;
NSString *Status = 0;
NSString *Settings = 0;
NSString *Metadata = 0;
NSString *v_expandableOperations = 0;
NSString *LookAndFeel = 0;
NSString *Permissions = 0;
NSString *Icon = 0;
NSString *Description = 0;
NSString *Theme = 0;
NSString *History = 0;
NSString *Homepage = 0;
NSString *IconPath = 0;
int IconWidth;
int IconHeight;
BOOL IconIsDefault;
NSString *PlainValue = 0;
NSString *Representation = 0;
NSString *ViewValue = 0;
NSString *ViewRepresentation = 0;
NSString *HomepageValue = 0;
int Start;
int Limit;
int Size;
BOOL RouteOverrideEnabled;
NSString *Color = 0;
NSString *LinksColor = 0;
NSString *HoverOrFocusValue = 0;
NSString *ColorValue = 0;
NSString *BackgroundColorValue = 0;
NSString *ButtonValue = 0;
NSString *PrimaryNavigationValue = 0;
NSString *SecondaryNavigationValue = 0;
NSString *SearchValue = 0;
NSString *ScreenValue = 0;
NSString *ContainerValue = 0;
NSString *HeaderValue = 0;
NSString *BodyValue = 0;
NSString *BordersAndDividersColor = 0;
NSString *CreatedDate = 0;
NSString *when = 0;
NSString *friendlyWhen = 0;
NSString *message = 0;
int v_number;
BOOL minorEdit;
NSString *Content = 0;
NSString *Collaborators = 0;
NSString *contentValue = 0;
NSString *UsersValue = 0;
NSString *UserKeysValue = 0;
NSString *v_linksValue = 0;
int j;
int count_j;
NSString *operation = 0;
NSString *targetType = 0;
NSString *value = 0;
NSString *v_expandableValue = 0;
NSString *UserValue = 0;
NSString *GroupValue = 0;
NSString *Operation = 0;
NSString *TargetType = 0;
BOOL anonymousAccess;
BOOL unlicensedAccess;
int start = [[jResp IntOf: @"start"] intValue];
int limit = [[jResp IntOf: @"limit"] intValue];
int size = [[jResp IntOf: @"size"] intValue];
int i = 0;
int count_i = [[jResp SizeOfArray: @"results"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
v_Type = [jResp StringOf: @"results[i].by.type"];
AccountId = [jResp StringOf: @"results[i].by.accountId"];
AccountType = [jResp StringOf: @"results[i].by.accountType"];
v_Email = [jResp StringOf: @"results[i].by.email"];
PublicName = [jResp StringOf: @"results[i].by.publicName"];
Path = [jResp StringOf: @"results[i].by.profilePicture.path"];
Width = [[jResp IntOf: @"results[i].by.profilePicture.width"] intValue];
Height = [[jResp IntOf: @"results[i].by.profilePicture.height"] intValue];
IsDefault = [jResp BoolOf: @"results[i].by.profilePicture.isDefault"];
DisplayName = [jResp StringOf: @"results[i].by.displayName"];
Operations = [jResp StringOf: @"results[i].by._expandable.operations"];
Details = [jResp StringOf: @"results[i].by._expandable.details"];
PersonalSpace = [jResp StringOf: @"results[i].by._expandable.personalSpace"];
Username = [jResp StringOf: @"results[i].by.username"];
UserKey = [jResp StringOf: @"results[i].by.userKey"];
Value = [jResp StringOf: @"results[i].by.details.business.value"];
PersonalValue = [jResp StringOf: @"results[i].by.details.personal.value"];
Id = [[jResp IntOf: @"results[i].by.personalSpace.id"] intValue];
Key = [jResp StringOf: @"results[i].by.personalSpace.key"];
Name = [jResp StringOf: @"results[i].by.personalSpace.name"];
PersonalSpaceType = [jResp StringOf: @"results[i].by.personalSpace.type"];
Status = [jResp StringOf: @"results[i].by.personalSpace.status"];
Settings = [jResp StringOf: @"results[i].by.personalSpace._expandable.settings"];
Metadata = [jResp StringOf: @"results[i].by.personalSpace._expandable.metadata"];
v_expandableOperations = [jResp StringOf: @"results[i].by.personalSpace._expandable.operations"];
LookAndFeel = [jResp StringOf: @"results[i].by.personalSpace._expandable.lookAndFeel"];
Permissions = [jResp StringOf: @"results[i].by.personalSpace._expandable.permissions"];
Icon = [jResp StringOf: @"results[i].by.personalSpace._expandable.icon"];
Description = [jResp StringOf: @"results[i].by.personalSpace._expandable.description"];
Theme = [jResp StringOf: @"results[i].by.personalSpace._expandable.theme"];
History = [jResp StringOf: @"results[i].by.personalSpace._expandable.history"];
Homepage = [jResp StringOf: @"results[i].by.personalSpace._expandable.homepage"];
IconPath = [jResp StringOf: @"results[i].by.personalSpace.icon.path"];
IconWidth = [[jResp IntOf: @"results[i].by.personalSpace.icon.width"] intValue];
IconHeight = [[jResp IntOf: @"results[i].by.personalSpace.icon.height"] intValue];
IconIsDefault = [jResp BoolOf: @"results[i].by.personalSpace.icon.isDefault"];
PlainValue = [jResp StringOf: @"results[i].by.personalSpace.description.plain.value"];
Representation = [jResp StringOf: @"results[i].by.personalSpace.description.plain.representation"];
ViewValue = [jResp StringOf: @"results[i].by.personalSpace.description.view.value"];
ViewRepresentation = [jResp StringOf: @"results[i].by.personalSpace.description.view.representation"];
HomepageValue = [jResp StringOf: @"results[i].by.personalSpace.homepage.value"];
Start = [[jResp IntOf: @"results[i].by.personalSpace.metadata.labels.start"] intValue];
Limit = [[jResp IntOf: @"results[i].by.personalSpace.metadata.labels.limit"] intValue];
Size = [[jResp IntOf: @"results[i].by.personalSpace.metadata.labels.size"] intValue];
RouteOverrideEnabled = [jResp BoolOf: @"results[i].by.personalSpace.settings.routeOverrideEnabled"];
Color = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.headings.color"];
LinksColor = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.links.color"];
HoverOrFocusValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.menus.hoverOrFocus.value"];
ColorValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.menus.color.value"];
BackgroundColorValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.header.backgroundColor.value"];
ButtonValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.header.button.value"];
PrimaryNavigationValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.header.primaryNavigation.value"];
SecondaryNavigationValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.header.secondaryNavigation.value"];
SearchValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.header.search.value"];
ScreenValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.content.screen.value"];
ContainerValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.content.container.value"];
HeaderValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.content.header.value"];
BodyValue = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.content.body.value"];
BordersAndDividersColor = [jResp StringOf: @"results[i].by.personalSpace.lookAndFeel.bordersAndDividers.color"];
CreatedDate = [jResp StringOf: @"results[i].by.personalSpace.history.createdDate"];
when = [jResp StringOf: @"results[i].when"];
friendlyWhen = [jResp StringOf: @"results[i].friendlyWhen"];
message = [jResp StringOf: @"results[i].message"];
v_number = [[jResp IntOf: @"results[i].number"] intValue];
minorEdit = [jResp BoolOf: @"results[i].minorEdit"];
Content = [jResp StringOf: @"results[i]._expandable.content"];
Collaborators = [jResp StringOf: @"results[i]._expandable.collaborators"];
contentValue = [jResp StringOf: @"results[i].content.value"];
UsersValue = [jResp StringOf: @"results[i].collaborators.users.value"];
UserKeysValue = [jResp StringOf: @"results[i].collaborators.userKeys.value"];
v_linksValue = [jResp StringOf: @"results[i].collaborators._links.value"];
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.operations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
operation = [jResp StringOf: @"results[i].by.operations[j].operation"];
targetType = [jResp StringOf: @"results[i].by.operations[j].targetType"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.personalSpace.description.plain.embeddedContent"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
value = [jResp StringOf: @"results[i].by.personalSpace.description.plain.embeddedContent[j].value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.personalSpace.description.view.embeddedContent"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
value = [jResp StringOf: @"results[i].by.personalSpace.description.view.embeddedContent[j].value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.personalSpace.metadata.labels.results"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
value = [jResp StringOf: @"results[i].by.personalSpace.metadata.labels.results[j].value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.personalSpace.operations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
operation = [jResp StringOf: @"results[i].by.personalSpace.operations[j].operation"];
targetType = [jResp StringOf: @"results[i].by.personalSpace.operations[j].targetType"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"results[i].by.personalSpace.permissions"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
v_expandableValue = [jResp StringOf: @"results[i].by.personalSpace.permissions[j].subjects._expandable.value"];
UserValue = [jResp StringOf: @"results[i].by.personalSpace.permissions[j].subjects.user.value"];
GroupValue = [jResp StringOf: @"results[i].by.personalSpace.permissions[j].subjects.group.value"];
Operation = [jResp StringOf: @"results[i].by.personalSpace.permissions[j].operation.operation"];
TargetType = [jResp StringOf: @"results[i].by.personalSpace.permissions[j].operation.targetType"];
anonymousAccess = [jResp BoolOf: @"results[i].by.personalSpace.permissions[j].anonymousAccess"];
unlicensedAccess = [jResp BoolOf: @"results[i].by.personalSpace.permissions[j].unlicensedAccess"];
j = j + 1;
}
i = i + 1;
}
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": ""
}
]
}