SDK for iOS Listing Nodes
Listing nodes using the SDK for iOS
Getting Node Information
All of the data associated with files and folders in Amazon Drive is represented as nodes. Learn more about nodes in the SDK overview.
Get a Specific Node
To retrieve a specific node, use the[ACDSKClient getNode:...]
method.
// Get a single node with given nodeID
ACDSKGetNodeRequest *getNodeRequest = [ACDSKGetNodeRequest new];
getNodeRequest.nodeID = nodeID;
// Make asynchronous request using instance of ACDSKClient
[client getNode:getNodeRequest fail:^(NSError *error) {
// Handle failure
} success:^(ACDSKGetNodeResponse *response) {
// Handle success
// response consists of a ACDSKNode
}];
Listing Nodes
You may list multiple nodes all at once. This is accomplished with one of the [ACDSKClient list...]
methods.
- Use the
listNodes:...
method to list nodes in the general case, such as to meet a filter criteria. - Use the
listChildren:...
method to list nodes that are children of a parent, such as files in a folder. - Use the
listNodesInTrash:...
method to list nodes that are in the trash.
All of the [ACDSKClient list...]
methods are paginated, meaning that you may not get all of the matching nodes back in one response. To get all of the data, you must make additional requests with the startToken
parameter set to the value of the nextToken
received in the previous response. You should continue to do this until the nextToken
comes back as nil
. A nextToken
is valid for 10 minutes before it expires.
List Nodes
To retrieve multiple nodes in the general case, use the [ACDSKClient listNodes:...]
method.
// List folder nodes
ACDSKListNodesRequest *request = [ACDSKListNodesRequest new];
request.filters = @"kind:FOLDER";
// Make asynchronous request using instance of ACDSKClient
[client listNodes:request fail:^(NSError *error) {
// Handle failure
} success:^(ACDSKListNodesResponse *response) {
// Handle success
// response.data is a NSArray of ACDSKNode objects
// Check next token for more data to retrieve
NSString *nextToken = response.nextToken;
if (nextToken != nil) {
// Make another request
ACDSKListNodesRequest *requestNext = [ACDSKListNodesRequest new];
requestNext.filters = @"kind:FOLDER";
requestNext.startToken = nextToken;
// ...
}
}];
List Children
It is easy to list the contents of a folder using the [ACDSKClient listChildren:...]
method.
// List files in a given folder
ACDSKListChildrenRequest *request = [ACDSKListChildrenRequest new];
request.parentID = folderID;
request.filters = @"kind:FILE";
// Make asynchronous request using instance of ACDSKClient
[client listChildren:request fail:^(NSError *error) {
// Handle failure
} success:^(ACDSKListChildrenResponse *response) {
// Handle success
// response.data is a NSArray of ACDSKNode objects
// Check next token for more data to retrieve
NSString *nextToken = response.nextToken;
if (nextToken != nil) {
// Make another request
ACDSKListChildrenRequest *requestNext = [ACDSKListChildrenRequest new];
requestNext.parentID = folderID;
requestNext.filters = @"kind:FILE";
requestNext.startToken = nextToken;
// ...
}
}];
List Nodes in Trash
To list the contents of the trash, use the [ACDSKClient listNodesInTrash:…] method.
// List contents of the trash
ACDSKListNodesInTrashRequest *request = [ACDSKListNodesInTrashRequest new];
// Make asynchronous request using instance of ACDSKClient
[client listNodesInTrash:request fail:^(NSError *error) {
// Handle failure
} success:^(ACDSKListNodesInTrashResponse *response) {
// Handle success
// response.data is a NSArray of ACDSKNode objects
// Check next token for more data to retrieve
NSString *nextToken = response.nextToken;
if (nextToken != nil) {
// Make another request
ACDSKListNodesInTrashRequest *requestNext = [ACDSKListNodesInTrashRequest new];
requestNext.startToken = nextToken;
// ...
}
}];
Listing with Filters
Various types of filters can be used with any of the list requests to find the specific type of Amazon Drive node for which you are searching. For more information about filtering nodes, see the filtering section of the RESTful Amazon Drive API.
Support
If you have any questions, see the Developer Forum.