Class Post

All Implemented Interfaces:
HasComments, HasCreatedTime, HasMessage, Serializable

public class Post
extends FacebookType
implements HasComments, HasCreatedTime, HasMessage
Represents the Post Graph API type.
Since:
1.5
Author:
Mark Allen
See Also:
Serialized Form
  • Constructor Details

    • Post

      public Post()
  • Method Details

    • getType

      @GraphAPI(until="3.2") public String getType()
      A string indicating the object type of this post. Hint for Graph API 3.3: attachment/media_type If there is no attachment or media_type=link, the value is the same as type=status.
      Overrides:
      getType in class FacebookType
      Returns:
      A string indicating the object type of this post.
    • jsonMappingCompleted

      protected void jsonMappingCompleted​(JsonMapper jsonMapper)
      Post-JSON-mapping operation that populates the messageTags field "by hand".

      This is a temporary hack until we have formal public support for it/improved JsonMapper capabilities so it can handle arbitrary Map types.

      Parameters:
      jsonMapper - The JsonMapper that was used to map to this type.
      Since:
      1.6.11
    • getLikesCount

      public Long getLikesCount()
      The number of likes on this post.
      Returns:
      The number of likes on this post.
    • getReactionsCount

      The number of reactions on this post.
      Returns:
      The number of reactions on this post.
    • getSharesCount

      public Long getSharesCount()
      The number of shares of this post.
      Returns:
      The number of shares of this post.
    • getCommentsCount

      The number of comments of this post.
      Returns:
      The number of comments of this post.
    • getTo

      A list of the profiles mentioned or targeted in this post.
      Returns:
      A list of the profiles mentioned or targeted in this post.
    • addTo

      public boolean addTo​(NamedFacebookType profile)
    • removeTo

      public boolean removeTo​(NamedFacebookType profile)
    • getActions

      A list of available action names and links (including commenting, liking, and an optional app-specified action).
      Returns:
      A list of available action names and links (including commenting, liking, and an optional app-specified action).
    • addAction

      public boolean addAction​(Post.Action action)
    • removeAction

      public boolean removeAction​(Post.Action action)
    • getProperties

      A list of properties for this post.

      This field is undocumented.

      Returns:
      A list of properties for this post.
    • addProperty

      public boolean addProperty​(Post.Property property)
    • removeProperty

      public boolean removeProperty​(Post.Property property)
    • getWithTags

      Deprecated.
      Objects (Users, Pages, etc) tagged as being with the publisher of the post ("Who are you with?" on Facebook).
      Returns:
      Objects (Users, Pages, etc) tagged as being with the publisher of the post ("Who are you with?" on Facebook).
      Since:
      1.6.10
    • addWithTag

      @GraphAPI(until="3.2") @Deprecated public boolean addWithTag​(NamedFacebookType withTag)
      Deprecated.
    • removeWithTag

      @GraphAPI(until="3.2") @Deprecated public boolean removeWithTag​(NamedFacebookType withTag)
      Deprecated.
    • getMessageTags

      Objects tagged in the message (Users, Pages, etc).
      Returns:
      Objects tagged in the message (Users, Pages, etc).
      Since:
      1.6.10
    • addMessageTag

      public void addMessageTag​(MessageTag messageTag)
    • removeMessageTag

      public void removeMessageTag​(MessageTag messageTag)
    • getStoryTags

      Objects tagged in the story (Users, Pages, etc).
      Returns:
      Objects tagged in the story (Users, Pages, etc).
    • addStoryTag

      public void addStoryTag​(MessageTag messageTag)
    • removeStoryTag

      public void removeStoryTag​(MessageTag messageTag)
    • getChildAttachments

      Sub-shares of a multi-link share post
      Returns:
      Sub-shares of a multi-link share post
    • addChildAttachment

      public void addChildAttachment​(Post childAttachment)
    • removeChildAttachment

      public void removeChildAttachment​(Post childAttachment)
    • getSponsorTags

      A sponsor tag points to a Facebook Page. (Page owners can allow their business partners to directly boost their posts.)
    • addSponsorTag

      public boolean addSponsorTag​(NamedFacebookType sponsorTag)
    • removeSponsorTag

      public boolean removeSponsorTag​(NamedFacebookType sponsorTag)
    • getFrom

      public From getFrom()
      An object containing the ID and name of the user who posted the message.
      Returns:
      An object containing the ID and name of the user who posted the message.
    • setFrom

      public void setFrom​(From from)
      An object containing the ID and name of the user who posted the message.
    • getAllowedAdvertisingObjects

      Objectives under which this post can be advertised
      Returns:
      Objectives under which this post can be advertised
    • setAllowedAdvertisingObjects

      public void setAllowedAdvertisingObjects​(String allowedAdvertisingObjects)
      Objectives under which this post can be advertised
    • getAllowedAdvertisingObjectives

      Objectives under which this post can be advertised
      Returns:
      Objectives under which this post can be advertised
    • setAllowedAdvertisingObjectives

      public void setAllowedAdvertisingObjectives​(List<String> allowedAdvertisingObjectives)
      Objectives under which this post can be advertised
    • getCallToAction

      The call to action type used in any Page posts for mobile app engagement ads
    • setCallToAction

      public void setCallToAction​(PostCallToAction callToAction)
      The call to action type used in any Page posts for mobile app engagement ads
    • getCommentsMirroringDomain

      If comments are being mirrored to an external site, this function returns the domain of that external site.
      Returns:
      If comments are being mirrored to an external site, this function returns the domain of that external site.
    • setCommentsMirroringDomain

      public void setCommentsMirroringDomain​(String commentsMirroringDomain)
      If comments are being mirrored to an external site, this function returns the domain of that external site.
    • getMessage

      public String getMessage()
      The message.
      Specified by:
      getMessage in interface HasMessage
      Returns:
      The message.
    • setMessage

      public void setMessage​(String message)
      The message.
    • getParentId

      public String getParentId()
      ID of the parent post
      Returns:
      ID of the parent post
    • setParentId

      public void setParentId​(String parentId)
      ID of the parent post
    • getPermalinkUrl

      The permanent static URL to the post on www.facebook.com.

      Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553

      Returns:
      The permanent static URL to the post on www.facebook.com.
    • setPermalinkUrl

      public void setPermalinkUrl​(String permalinkUrl)
      The permanent static URL to the post on www.facebook.com.

      Example: https://www.facebook.com/FacebookforDevelopers/posts/10153449196353553

    • getPicture

      public String getPicture()
      If available, a link to the picture included with this post.
      Returns:
      If available, a link to the picture included with this post.
    • setPicture

      public void setPicture​(String picture)
      If available, a link to the picture included with this post.
    • getLink

      @GraphAPI(until="3.2") public String getLink()
      The link attached to this post. Hint for Graph API 3.3: Use attachment/url_unshimmed instead
      Returns:
      The link attached to this post.
    • setLink

      public void setLink​(String link)
      The link attached to this post. Hint for Graph API 3.3: Use attachment/url_unshimmed instead
    • getName

      @GraphAPI(until="3.2") public String getName()
      The name of the link. Hint for Graph API 3.3: Use attachment/title instead
      Returns:
      The name of the link.
    • setName

      public void setName​(String name)
      The name of the link. Hint for Graph API 3.3: Use attachment/title instead
    • getCaption

      @GraphAPI(until="3.2") public String getCaption()
      The caption of the link (appears beneath the link name). Hint for Graph API 3.3: Use attachment/title instead
      Returns:
      The caption of the link (appears beneath the link name).
    • setCaption

      public void setCaption​(String caption)
      The caption of the link (appears beneath the link name). Hint for Graph API 3.3: Use attachment/title instead
    • getDescription

      A description of the link (appears beneath the link caption). Hint for Graph API 3.3: Use attachment/description instead
      Returns:
      A description of the link (appears beneath the link caption).
    • setDescription

      public void setDescription​(String description)
      A description of the link (appears beneath the link caption). Hint for Graph API 3.3: Use attachment/description instead
    • getSource

      @GraphAPI(until="3.2") public String getSource()
      If available, the source link attached to this post (for example, a flash or video file). Hint for Graph API 3.3: Use attachment/media/source instead
      Returns:
      If available, the source link attached to this post (for example, a flash or video file).
    • setSource

      public void setSource​(String source)
      If available, the source link attached to this post (for example, a flash or video file). Hint for Graph API 3.3: Use attachment/media/source instead
    • getApplication

      The application used to create this post.
      Returns:
      The application used to create this post.
    • setApplication

      public void setApplication​(NamedFacebookType application)
      The application used to create this post.
    • getIcon

      public String getIcon()
      A link to an icon representing the type of this post.
      Returns:
      A link to an icon representing the type of this post.
    • setIcon

      public void setIcon​(String icon)
      A link to an icon representing the type of this post.
    • getPrivacy

      public Privacy getPrivacy()
      The privacy settings for this post.
      Returns:
      The privacy settings for this post.
    • setPrivacy

      public void setPrivacy​(Privacy privacy)
      The privacy settings for this post.
    • getPromotionStatus

      Status of the promotion, if the post was promoted.
      Returns:
      Status of the promotion, if the post was promoted
    • setPromotionStatus

      public void setPromotionStatus​(String promotionStatus)
      Status of the promotion, if the post was promoted.
    • getFeedTargeting

      Object that controls news feed targeting for this post. To force Facebook to fill the feed_targeting field you have to fetch the post with the fields=feed_targeting parameter, otherwise the feedTargeting is null.
      Since:
      1.11.0
    • setFeedTargeting

      public void setFeedTargeting​(Post.FeedTargeting feedTargeting)
      Object that controls news feed targeting for this post. To force Facebook to fill the feed_targeting field you have to fetch the post with the fields=feed_targeting parameter, otherwise the feedTargeting is null.
      Since:
      1.11.0
    • getCanReplyPrivately

      Whether the viewer can send a private reply to this post (Page viewers only)
      Returns:
      Whether the viewer can send a private reply to this post
    • setCanReplyPrivately

      public void setCanReplyPrivately​(Boolean canReplyPrivately)
      Whether the viewer can send a private reply to this post (Page viewers only)
    • getTarget

      The profile this was posted on if different from the author.
      Returns:
      The profile this was posted on if different from the author
    • setTarget

      public void setTarget​(NamedFacebookType target)
      The profile this was posted on if different from the author.
    • getTargeting

      Ads targeting information of the post.
      Returns:
      Ads targeting information of the post
    • setTargeting

      public void setTargeting​(Post.Targeting targeting)
      Ads targeting information of the post.
    • getTimelineVisibility

      Timeline visibility information of the post.
      Returns:
      imeline visibility information of the post
    • setTimelineVisibility

      public void setTimelineVisibility​(String timelineVisibility)
      Timeline visibility information of the post.
    • getLikes

      public Likes getLikes()
      Duplicate mapping for "likes" since FB can return it differently in different situations. -- GETTER -- The likes on this post.

      Sometimes this can be null - check getLikesCount() instead in that case.

      Returns:
      The likes on this post.
    • setLikes

      public void setLikes​(Likes likes)
      Duplicate mapping for "likes" since FB can return it differently in different situations. -- GETTER -- The likes on this post.

      Sometimes this can be null - check getLikesCount() instead in that case.

    • getCreatedTime

      public Date getCreatedTime()
      The time the post was initially published.
      Specified by:
      getCreatedTime in interface HasCreatedTime
      Returns:
      The time the post was initially published.
    • setCreatedTime

      public void setCreatedTime​(Date createdTime)
      The time the post was initially published.
    • getUpdatedTime

      public Date getUpdatedTime()
      The time of the last comment on this post.
      Returns:
      The time of the last comment on this post.
    • setUpdatedTime

      public void setUpdatedTime​(Date updatedTime)
      The time of the last comment on this post.
    • getTaggedTime

      public Date getTaggedTime()
      This field is available on tagged Posts.
      Returns:
      The tagging Date of the Post
    • setTaggedTime

      public void setTaggedTime​(Date taggedTime)
      This field is available on tagged Posts.
    • getObjectId

      @GraphAPI(until="3.2") public String getObjectId()
      The Facebook object id for an uploaded photo or video. Hint for Graph API 3.3: Use attachment/target/id instead
      Returns:
      The Facebook object id for an uploaded photo or video.
      Since:
      1.6.5
    • setObjectId

      public void setObjectId​(String objectId)
      The Facebook object id for an uploaded photo or video. Hint for Graph API 3.3: Use attachment/target/id instead
      Since:
      1.6.5
    • getStatusType

      The status_type of post this is, for example "approved_friend".
      Returns:
      The status_type of post this is, for example "approved_friend".
      Since:
      1.6.12
    • setStatusType

      public void setStatusType​(String statusType)
      The status_type of post this is, for example "approved_friend".
      Since:
      1.6.12
    • getStory

      public String getStory()
      Text from stories not intentionally generated by users
      Returns:
      Text from stories not intentionally generated by users
      Since:
      1.6.16
    • setStory

      public void setStory​(String story)
      Text from stories not intentionally generated by users
      Since:
      1.6.16
    • getComments

      The comments for this post.
      Specified by:
      getComments in interface HasComments
      Returns:
      The comments for this post.
    • setComments

      public void setComments​(Comments comments)
      The comments for this post.
    • getReactions

      The reactions for this post.
      Returns:
      The reactions for this post.
    • setReactions

      public void setReactions​(Reactions reactions)
      The reactions for this post.
    • getPlace

      public Place getPlace()
      The place where this post occurred.
      Returns:
      The place where this post occurred.
      Since:
      1.6.8
    • setPlace

      public void setPlace​(Place place)
      The place where this post occurred.
      Since:
      1.6.8
    • getScheduledPublishTime

      UNIX timestamp of the scheduled publish time for the post.
      Returns:
      UNIX timestamp of the scheduled publish time for the post
    • setScheduledPublishTime

      public void setScheduledPublishTime​(Date scheduledPublishTime)
      UNIX timestamp of the scheduled publish time for the post.
    • getShares

      Number of times the post has been shared.
      Returns:
      Number of times the post has been shared
    • setShares

      public void setShares​(Post.Shares shares)
      Number of times the post has been shared.
    • getAdminCreator

      ID of admin who created the post. Applies to pages only
      Returns:
      ID of admin who created the post.
      Since:
      1.10.0
    • setAdminCreator

      public void setAdminCreator​(NamedFacebookType adminCreator)
      ID of admin who created the post. Applies to pages only
      Since:
      1.10.0
    • getInstagramEligibility

      Whether the post can be promoted on Instagram.

      It returns the enum eligible if it can be promoted. Otherwise it returns an enum for why it cannot be promoted

      Returns:
      Whether the post can be promoted on Instagram
    • setInstagramEligibility

      public void setInstagramEligibility​(String instagramEligibility)
      Whether the post can be promoted on Instagram.

      It returns the enum eligible if it can be promoted. Otherwise it returns an enum for why it cannot be promoted

    • getIsAppShare

      Whether or not the post references an app.
      Returns:
      Whether or not the post references an app
    • setIsAppShare

      public void setIsAppShare​(Boolean isAppShare)
      Whether or not the post references an app.
    • getIsEligibleForPromotion

    • setIsEligibleForPromotion

      public void setIsEligibleForPromotion​(Boolean isEligibleForPromotion)
    • getIsExpired

      Whether the post has expiration time that has passed
      Returns:
      Whether the post has expiration time that has passed
    • setIsExpired

      public void setIsExpired​(Boolean isExpired)
      Whether the post has expiration time that has passed
    • getIsHidden

      public Boolean getIsHidden()
      If this post is marked as hidden (applies to Pages only).
      Returns:
      if this post is marked as hidden
      Since:
      1.10.0
    • setIsHidden

      public void setIsHidden​(Boolean isHidden)
      If this post is marked as hidden (applies to Pages only).
      Since:
      1.10.0
    • getIsInstagramEligible

      Whether this post can be promoted in Instagram.
      Returns:
      Whether this post can be promoted in Instagram
    • setIsInstagramEligible

      public void setIsInstagramEligible​(Boolean isInstagramEligible)
      Whether this post can be promoted in Instagram.
    • getIsPopular

      Whether the post is currently popular. Based on whether the total actions as a percentage of reach exceeds a certain threshold
      Returns:
      Whether the post is currently popular
    • setIsPopular

      public void setIsPopular​(Boolean isPopular)
      Whether the post is currently popular. Based on whether the total actions as a percentage of reach exceeds a certain threshold
    • getIsPublished

      Indicates whether a scheduled post was published. (applies to scheduled Page Post only, for users post and instantly published posts this value is always true)
      Returns:
      indicates whether a scheduled post was published
      Since:
      1.10.0
    • setIsPublished

      public void setIsPublished​(Boolean isPublished)
      Indicates whether a scheduled post was published. (applies to scheduled Page Post only, for users post and instantly published posts this value is always true)
      Since:
      1.10.0
    • getIsSpherical

      Whether the post is a spherical video post.
      Returns:
      Whether the post is a spherical video post
    • setIsSpherical

      public void setIsSpherical​(Boolean isSpherical)
      Whether the post is a spherical video post.
    • getMultiShareEndCard

      Whether display the end card for a multi-link share post
    • setMultiShareEndCard

      public void setMultiShareEndCard​(Boolean multiShareEndCard)
      Whether display the end card for a multi-link share post
    • getMultiShareOptimized

      Whether automatically select the order of the links in multi-link share post when used in an ad
    • setMultiShareOptimized

      public void setMultiShareOptimized​(Boolean multiShareOptimized)
      Whether automatically select the order of the links in multi-link share post when used in an ad
    • getAttachments

      Attachments added to a post. To force Facebook to fill the attachments field you have to fetch the post with the fields=attachments parameter, otherwise the attachments are null.
      Returns:
      Attachment on the post
    • setAttachments

      public void setAttachments​(Post.Attachments attachments)
      Attachments added to a post. To force Facebook to fill the attachments field you have to fetch the post with the fields=attachments parameter, otherwise the attachments are null.
    • getFullPicture

      Full picture URL. you get the url to this posts full picture. To force Facebook to fill the full_picture field you have to fetch the post with the fields=full_picture parameter, otherwise the full_picture is null.
      Returns:
      String representing the url to the post's full picture
    • setFullPicture

      public void setFullPicture​(String fullPicture)
      Full picture URL. you get the url to this posts full picture. To force Facebook to fill the full_picture field you have to fetch the post with the fields=full_picture parameter, otherwise the full_picture is null.
    • getVia

      public String getVia()
      ID of the user or Page the post was shared from
    • setVia

      public void setVia​(String via)
      ID of the user or Page the post was shared from