Add a Resource To Project Introduction
This example allows you to add a resource to a Project using Aspose.Tasks Cloud API in your applications. Aspose.Tasks Cloud is a REST API which can be used with any language: .NET, Java, PHP, Ruby, Rails, Python, jQuery and many more.
API
Type
Description
Resource Link
/tasks/{name}/resources
POST
Add a named resource to a MS Project Document
PostResource
cURL Example
SDKs
The Aspose.Tasks Cloud SDKs can be downloaded from the following page: Available SDKs
SDK Examples
C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");
var resourceResponse = await TasksApi.GetResourcesAsync(new GetResourcesRequest
{
Name = remoteName,
Folder = this.DataFolder
});
Assert.AreEqual((int)HttpStatusCode.OK, resourceResponse.Code);
var count = resourceResponse.Resources.ResourceItem.Count;
var postResponse = await TasksApi.PostResourceAsync(new PostResourceRequest
{
Name = remoteName,
Folder = this.DataFolder,
ResourceName = "new resource"
});
Assert.AreEqual((int)HttpStatusCode.Created, postResponse.Code);
PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?
// For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-php/
$remoteName = "AddResource.mpp";
$folder = $this->uploadFile("Home move plan.mpp", $remoteName, '');
$response = $this->tasks->getResources(new Requests\GetResourcesRequest($remoteName, self::$storageName, $folder));
Assert::assertEquals(200, $response->getCode());
Assert::assertNotNull($response->getResources());
Assert::assertNotNull($response->getResources()->getResourceItem());
$count = count($response->getResources()->getResourceItem());
$response = $this->tasks->postResource(new Requests\PostResourceRequest($remoteName, "new resource", null, null, self::$storageName, $folder));
Assert::assertEquals(201, $response->getCode());
$addedResourceUid = $response->getResourceItem()->getUid();
$response = $this->tasks->getResources(new Requests\GetResourcesRequest($remoteName, self::$storageName, $folder));
Assert::assertEquals(200, $response->getCode());
Assert::assertNotNull($response->getResources());
Assert::assertNotNull($response->getResources()->getResourceItem());
Assert::assertEquals($count + 1, count($response->getResources()->getResourceItem()));
foreach($response->getResources()->getResourceItem() as $r)
{
if($r->getUid() == $addedResourceUid) {
$addedResourceItem = $r;
break;
}
}
Assert::assertNotNull($addedResourceItem);
Assert::assertEquals("new resource", $addedResourceItem->getName());
Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-python
filename = 'Home_move_plan.mpp'
self.upload_file(filename)
get_request = GetResourcesRequest(filename)
get_result = self.tasks_api.get_resources(get_request)
self.assertIsNotNone(get_result)
self.assertIsInstance(get_result, ResourceItemsResponse)
count = len(get_result.resources.resource_item)
post_request = PostResourceRequest(filename, 'new resource')
post_result = self.tasks_api.post_resource(post_request)
self.assertIsNotNone(post_result)
self.assertIsInstance(post_result, ResourceItemResponse)
get_result = self.tasks_api.get_resources(get_request)
self.assertEqual(count + 1, len(get_result.resources.resource_item))
added_resource = next(r for r in get_result.resources.resource_item if r.uid == post_result.resource_item.uid)
self.assertEqual('new resource', added_resource.name)
Node.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-node
const fileName = "Home_move_plan.mpp";
const localPath = "./Data/" + fileName;
const remotePath = "Temp/Data";
const remoteFullPath = remotePath + "/" + fileName;
await tasksApi.uploadFileToStorage(remoteFullPath, localPath);
const getRequest = new GetResourcesRequest();
getRequest.name = fileName;
getRequest.folder = remotePath;
let getResult = await tasksApi.getResources(getRequest);
expect(getResult.body.code).to.equal(200);
const count = getResult.body.resources.resourceItem.length;
const postRequest = new PostResourceRequest();
postRequest.name = fileName;
postRequest.folder = remotePath;
postRequest.resourceName = "new resource";
const postResult = await tasksApi.postResource(postRequest);
expect(postResult.body.code).to.equal(201);
Go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-go/
client, ctx := UploadTestFileToStorage(t, localFileName, remoteBaseTestDataFolder+"/"+remoteFileName)
postOpts := &requests.PostResourceOpts{
ResourceName: optional.NewString("new resource"),
Name: remoteFileName,
Folder: optional.NewString(remoteBaseTestDataFolder),
}
postResult, _, err := client.TasksApi.PostResource(ctx, postOpts)
if err != nil {
t.Error(err)
}
assert.Equal(t, int32(201), postResult.Code)
Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-java/
String localFileName = "Home_move_plan.mpp";
String remoteFileName = TestInitializer.UploadFile(localFileName);
PostResourceRequest postRequest = new PostResourceRequest(remoteFileName, "new resource", null, null, null, null);
ResourceItemResponse postResult = TestInitializer.tasksApi.postResource(postRequest);
assertEquals(201, (int) postResult.getCode());