Class Link

  • A Link object represents a hypertext link associated with a shape in Google Slides.

  • It provides methods to determine the link type, retrieve linked slide information (if applicable), and access the URL for external web page links.

  • The getLinkType() method identifies the type of link, such as URL, slide ID, or slide index.

  • Methods like getLinkedSlide(), getSlideId(), getSlideIndex(), and getSlidePosition() retrieve information about linked slides based on the link type.

  • The getUrl() method returns the URL if the link type is URL, otherwise, it returns null.

Link

A hypertext link.

Methods

MethodReturn typeBrief description
getLinkType()LinkTypeReturns the LinkType.
getLinkedSlide()SlideReturns the linked Slide for non-URL links types, if it exists.
getSlideId()StringReturns the ID of the linked Slide or null if the LinkType is not LinkType.SLIDE_ID.
getSlideIndex()IntegerReturns the zero-based index of the linked Slide or null if the LinkType is not LinkType.SLIDE_INDEX.
getSlidePosition()SlidePositionReturns the SlidePosition of the linked Slide or null if the LinkType is not LinkType.SLIDE_POSITION.
getUrl()StringReturns the URL to the external web page or null if the LinkType is not LinkType.URL.

Detailed documentation

getLinkType()

Returns the LinkType.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null) {
  Logger.log(`Shape has a link of type: ${link.getLinkType()}`);
}

Return

LinkType

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getLinkedSlide()

Returns the linked Slide for non-URL links types, if it exists. Returns null if the slide doesn't exist in the presentation, or if the LinkType is LinkType.URL.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null && link.getLinkType() !== SlidesApp.LinkType.URL) {
  Logger.log(`Shape has link to slide: ${link.getLinkedSlide()}`);
}

Return

Slide

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getSlideId()

Returns the ID of the linked Slide or null if the LinkType is not LinkType.SLIDE_ID.

Note that the slide with the returned ID might not exist.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null && link.getLinkType() === SlidesApp.LinkType.SLIDE_ID) {
  Logger.log(`Shape has link to slide with ID: ${link.getSlideId()}`);
}

Return

String

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getSlideIndex()

Returns the zero-based index of the linked Slide or null if the LinkType is not LinkType.SLIDE_INDEX.

Note that the slide at the returned index might not exist.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null && link.getLinkType() === SlidesApp.LinkType.SLIDE_INDEX) {
  Logger.log(`Shape has link to slide with index: ${link.getSlideIndex()}`);
}

Return

Integer

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getSlidePosition()

Returns the SlidePosition of the linked Slide or null if the LinkType is not LinkType.SLIDE_POSITION.

Note that the slide with the returned relative position might not exist.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null && link.getLinkType() === SlidesApp.LinkType.SLIDE_POSITION) {
  Logger.log(
      `Shape has link to slide with relative position: ${
          link.getSlidePosition()}`,
  );
}

Return

SlidePosition

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getUrl()

Returns the URL to the external web page or null if the LinkType is not LinkType.URL.

const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null && link.getLinkType() === SlidesApp.LinkType.URL) {
  Logger.log(`Shape has link to URL: ${link.getUrl()}`);
}

Return

String

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations