Google Apps Script

Class Attachment

A Sites Attachment such as a file attached to a page. Note that an Attachment is a Blob and can be used anywhere Blob input is expected.

 
var filesPage = SitesApp.getSite('example.com', 'mysite').getChildByName("files");
 var attachments = filesPage.getAttachments();

 // DocsList.createFile accepts a blob input. Since an Attachment is just a blob, we can
 // just pass it directly to that method
 var file = DocsList.createFile(attachments[0]);
 

Methods

MethodReturn typeBrief description
deleteAttachment()voidDeletes this attachment.
getAs(contentType)BlobReturn the data inside this object as a blob converted to the specified content type.
getAttachmentType()AttachmentTypeReturn the type of this attachment (HOSTED or WEB).
getBlob()BlobReturn the data inside this object as a blob.
getContentType()StringReturn the mime type of this attachment.
getDatePublished()DateReturn the date this attachment was first published.
getDescription()StringReturn the description of this attachment.
getLastUpdated()DateReturn the date this attachment was last updated.
getParent()PageGet the parent page of this attachment.
getTitle()StringReturn the title of this attachment.
getUrl()StringReturn the download url for this attachment.
setContentType(contentType)AttachmentSet the mime type of this attachment.
setDescription(description)AttachmentSet the descripton of this attachment.
setFrom(blob)AttachmentSet the actual data of this attachment.
setParent(parent)AttachmentSet the parent page of this attachment.
setTitle(title)AttachmentSet the title of this attachment.
setUrl(url)AttachmentSets the download url for this attachment.

Detailed documentation

deleteAttachment()

Deletes this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 attachments[0].deleteAttachment();
 

getAs(contentType)

Return the data inside this object as a blob converted to the specified content type.

Parameters

NameTypeDescription
contentTypeStringthe MIME type to convert to. For most blobs, 'application/pdf' is the only valid option. For images in BMP, GIF, JPEG, or PNG format, any of 'image/bmp', 'image/gif', 'image/jpeg', or 'image/png' are also valid.

Return

Blob — the data as a blob


getAttachmentType()

Return the type of this attachment (HOSTED or WEB).

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var attType = attachments[0].getAttachmentType();
    
 // This will log "Hosted"
 Logger.log(attType);
 
 // Since this returns an AttachmentType and not a String, for the 
 // purposes of equivalence we want to either do this or cast the
 // type to a String
 if(attType ==  SitesService.AttachmentType.HOSTED) {
   Logger.log("This is a match");
 }
 
 // The above is the same as
 if(String(attType) == "Hosted") {
    Logger.log("This is also a match");
 }
 

Return

AttachmentType — the attachment type


getBlob()

Return the data inside this object as a blob.

Return

Blob — the data as a blob


getContentType()

Return the mime type of this attachment. Fails for web attachments.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var contentType = attachments[0].getContentType();
 

Return

String — the attachment mime type


getDatePublished()

Return the date this attachment was first published.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var date = attachments[0].getDatePublished();
 

Return

Date — the date of original publication


getDescription()

Return the description of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var description = attachments[0].getDescription();
 

Return

String — the attachment description


getLastUpdated()

Return the date this attachment was last updated.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var date = attachments[0].getLastUpdated();
 

Return

Date — the last updated date


getParent()

Get the parent page of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();

 // This is equal to pages[0]
 var parent = attachments[0].getParent();
 

Return

Page — the parent page


getTitle()

Return the title of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var title = attachments[0].getTitle();
 

Return

String — the attachment title


getUrl()

Return the download url for this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 var url = attachments[0].getUrl();
 

Return

String — the download url


setContentType(contentType)

Set the mime type of this attachment. Fails for web attachments.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 attachments[0].setContentType("text/plain");
 

Parameters

NameTypeDescription
contentTypeStringthe new mime type

Return

Attachment — this Attachment for chaining


setDescription(description)

Set the descripton of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();

 // This is an example of chaining in action
 attachments[0].setTitle("New Title")
               .setDescription("New Description");
 

Parameters

NameTypeDescription
descriptionStringthe new description

Return

Attachment — this Attachment for chaining


setFrom(blob)

Set the actual data of this attachment. Fails for web attachments.

 
var pages = SitesApp.getSite('demositeappsscript').getChildren();
 var attachments = pages[0].getAttachments();
   
 // This snippet demonstrates how to create a new text blob and attach it
 // to the page
 var blob = Utilities.newBlob("This data is now the attachment content");
   
 // We must set a filename since we created the blob from String data 
 // instead of something like a URL source
 blob.setName("attachment.txt");
 attachments[0].setTitle("New Title")
               .setDescription("New Description")
               .setContentType("text/plain")
               .setFrom(blob);
 

Parameters

NameTypeDescription
blobBlobSourcethe new data

Return

Attachment — this Attachment for chaining


setParent(parent)

Set the parent page of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();
 // Sets the parent page to be the next sibling 
 attachments[0].setParent(pages[1]);
 

Parameters

NameTypeDescription
parentPagethe new parent

Return

Attachment — this Attachment for chaining


setTitle(title)

Set the title of this attachment.

 
var pages = SitesApp.getSite('example.com', 'mysite').getChildren();
 var attachments = pages[0].getAttachments();

 // This is an example of chaining in action
 attachments[0].setTitle("New Title")
               .setDescription("New Description");
 

Parameters

NameTypeDescription
titleStringthe new title

Return

Attachment — this Attachment for chaining


setUrl(url)

Sets the download url for this attachment. Only valid for web attachments.

 
var pages = SitesApp.getSite('demositeappsscript').getChildren();
 var attachments = pages[0].getAttachments();
   
 attachments[0].setTitle("New Web Attachment")
               .setDescription("New Description")
               .setUrl("http://example.com/files/your_file.txt");
 

Parameters

NameTypeDescription
urlString

Return

Attachment — this Attachment for chaining

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.