getAttachmentURLs

This method is used to get multiple URLs for multiple objects of an S-Drive Attachment at a time.
List<String> getAttachmentURLs(List<ID> parentIds, List<ID> fileObjectIds, Long timeValue)
List<String> getAttachmentURLs(List<ID> parentIds, List<ID> fileObjectIds, Long timeValue, Map<String,String> requestParameters)
List<String> getAttachmentURLs(List<ID> parentIds, List<ID> fileObjectIds, Long timeValue, List<Map<String,String>>
requestParametersList)

Parameters:
parentIds: List of Salesforce ids of the parent objects. You can use 15-character id or 18- character id.
fileObjectIds: List of Salesforce ids of the attachment (files) objects.
timeValue: Expiration time of the links in seconds.
requestParameters: Map of request parameters and theirs values to set the parameters in the response (e.g. ('response-content-disposition', 'inline; filename=myfile.png')). For more information, visit the Amazon documentation:
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
requestParametersList: List of request parameters map for each files.
Return Value: The method will return the list of URLs of the S-Drive attachment.

If you would like to get an old version of a file, you should add id of an old version file into fileoObjectIds list.

 

 

getAttachmentURLs(List<ID> parentIds, List<ID> fileObjectIds, Long timeValue, Map<String,String> requestParameters) method can be used to generate both Open and Download URLs. Changing the response-content-disposition values in the requestParameters map will change the URL type.

For an open URL, the corresponding response-content-disposition value should include “inline”

For a download URL, the corresponding response-content-disposition value should include “attachment”

 

The sample script below returns a list of download URLs for an S-Drive file under an Account record.

List<Id> accIds = new List<Id>(); accIds.add('0013G00000RaoJ3QAJ'); //Parent account record ID List<Id> fileIds = new List<Id>(); fileIds.add('a003G000007MCVhQAO'); //File record ID Map<String,String> reqParam = new Map<String,String>(); reqParam.put('response-content-disposition', 'attachment; filename=Agreement.pdf'); List<String> downloadURLs = cg.SDriveTools.getAttachmentURLs(accIds, fileIds, 212324, reqParam); String agreementFileURL = downloadURLs[0];

 

The sample script below returns a list of open URLs for an S-Drive file under an Account record:

List<Id> accIds = new List<Id>(); accIds.add('0013G00000RaoJ3QAJ'); //Parent account record ID List<Id> fileIds = new List<Id>(); fileIds.add('a003G000007MCVhQAO'); //File record ID Map<String,String> reqParam= new Map<String,String>(); reqParam.put('response-content-disposition', 'inline; filename=Agreement.pdf'); List<String> openURLs = cg.SDriveTools.getAttachmentURLs(accIds, fileIds, 212324, reqParam); String agreementFileURL = openURLs[0];