/* +---------------------------------------------------------------------------+ | Facebook Development Platform Java Client | +---------------------------------------------------------------------------+ | Copyright (c) 2007-2008 Facebook, Inc. | | All rights reserved. | | | | Redistribution and use in source and binary forms, with or without | | modification, are permitted provided that the following conditions | | are met: | | | | 1. Redistributions of source code must retain the above copyright | | notice, this list of conditions and the following disclaimer. | | 2. Redistributions in binary form must reproduce the above copyright | | notice, this list of conditions and the following disclaimer in the | | documentation and/or other materials provided with the distribution. | | | | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | +---------------------------------------------------------------------------+ | For help with this library, contact developers-help@facebook.com | +---------------------------------------------------------------------------+ */ package com.facebook.api; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.EnumSet; import java.util.Map; import java.util.Set; /** * Generic interface for a FacebookRestClient, parameterized by output format. * For continually updated documentation, please refer to the * <a href="http://wiki.developers.facebook.com/index.php/API"> * Developer Wiki</a>. */ public interface IFacebookRestClient<T> { public static final String TARGET_API_VERSION = "1.0"; public static final String ERROR_TAG = "error_response"; public static final String FB_SERVER = "api.facebook.com/restserver.php"; public static final String SERVER_ADDR = "http://" + FB_SERVER; public static final String HTTPS_SERVER_ADDR = "https://" + FB_SERVER; public void setDebug(boolean isDebug); public boolean isDebug(); public boolean isDesktop(); public void setIsDesktop(boolean isDesktop); /** * Sets the FBML for a user's profile, including the content for both the profile box * and the profile actions. * @param userId the user whose profile FBML to set * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @return a boolean indicating whether the FBML was successfully set * @deprecated Use {@link FacebookRestClient#profile_setFBML(CharSequence,CharSequence,Long)} instead. * @see #profile_setFBML(CharSequence,CharSequence,Long) */ public boolean profile_setFBML(CharSequence fbmlMarkup, Integer userId) throws FacebookException, IOException; /** * Sets the FBML for a profile box on the logged-in user's profile. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFbml</a> */ public boolean profile_setProfileFBML(CharSequence fbmlMarkup) throws FacebookException, IOException; /** * Sets the FBML for profile actions for the logged-in user. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setProfileActionFBML(CharSequence fbmlMarkup) throws FacebookException, IOException; /** * Sets the FBML for the logged-in user's profile on mobile devices. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setMobileFBML(CharSequence fbmlMarkup) throws FacebookException, IOException; /** * Sets the FBML for a profile box on the user or page profile with ID <code>profileId</code>. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @param profileId a page or user ID (null for the logged-in user) * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFbml</a> */ public boolean profile_setProfileFBML(CharSequence fbmlMarkup, Long profileId) throws FacebookException, IOException; /** * Sets the FBML for profile actions for the user or page profile with ID <code>profileId</code>. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @param profileId a page or user ID (null for the logged-in user) * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setProfileActionFBML(CharSequence fbmlMarkup, Long profileId) throws FacebookException, IOException; /** * Sets the FBML for the user or page profile with ID <code>profileId</code> on mobile devices. * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @param profileId a page or user ID (null for the logged-in user) * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setMobileFBML(CharSequence fbmlMarkup, Long profileId) throws FacebookException, IOException; /** * Sets the FBML for the profile box and profile actions for the logged-in user. * Refer to the FBML documentation for a description of the markup and its role in various contexts. * @param profileFbmlMarkup the FBML for the profile box * @param profileActionFbmlMarkup the FBML for the profile actions * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setFBML(CharSequence profileFbmlMarkup, CharSequence profileActionFbmlMarkup) throws FacebookException, IOException; /** * Sets the FBML for the profile box and profile actions for the user or page profile with ID <code>profileId</code>. * Refer to the FBML documentation for a description of the markup and its role in various contexts. * @param profileFbmlMarkup the FBML for the profile box * @param profileActionFbmlMarkup the FBML for the profile actions * @param profileId a page or user ID (null for the logged-in user) * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setFBML(CharSequence profileFbmlMarkup, CharSequence profileActionFbmlMarkup, Long profileId) throws FacebookException, IOException; /** * Sets the FBML for the profile box, profile actions, and mobile devices for the logged-in user. * Refer to the FBML documentation for a description of the markup and its role in various contexts. * @param profileFbmlMarkup the FBML for the profile box * @param profileActionFbmlMarkup the FBML for the profile actions * @param mobileFbmlMarkup the FBML for mobile devices * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setFBML(CharSequence profileFbmlMarkup, CharSequence profileActionFbmlMarkup, CharSequence mobileFbmlMarkup) throws FacebookException, IOException; /** * Sets the FBML for the profile box, profile actions, and mobile devices for the user or page profile with ID <code>profileId</code>. * Refer to the FBML documentation for a description of the markup and its role in various contexts. * @param profileFbmlMarkup the FBML for the profile box * @param profileActionFbmlMarkup the FBML for the profile actions * @param mobileFbmlMarkup the FBML for mobile devices * @param profileId a page or user ID (null for the logged-in user) * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML"> * Developers wiki: Profile.setFBML</a> */ public boolean profile_setFBML(CharSequence profileFbmlMarkup, CharSequence profileActionFbmlMarkup, CharSequence mobileFbmlMarkup, Long profileId) throws FacebookException, IOException; /** * Gets the FBML for a user's profile, including the content for both the profile box * and the profile actions. * @param userId the user whose profile FBML to set * @return a T containing FBML markup */ public T profile_getFBML(Integer userId) throws FacebookException, IOException; /** * Recaches the referenced url. * @param url string representing the URL to refresh * @return boolean indicating whether the refresh succeeded */ public boolean fbml_refreshRefUrl(String url) throws FacebookException, IOException; /** * Recaches the referenced url. * @param url the URL to refresh * @return boolean indicating whether the refresh succeeded */ public boolean fbml_refreshRefUrl(URL url) throws FacebookException, IOException; /** * Associates a "<code>handle</code>" with FBML markup so that the handle can be used within the * <a href="http://wiki.developers.facebook.com/index.php/Fb:ref">fb:ref</a> FBML tag. * A handle is unique within an application and allows an application to publish identical FBML * to many user profiles and do subsequent updates without having to republish FBML for each user. * * @param handle a string, unique within the application, that * @param fbmlMarkup refer to the FBML documentation for a description of the markup and its role in various contexts * @return a boolean indicating whether the FBML was successfully set * @see <a href="http://wiki.developers.facebook.com/index.php/Fbml.setRefHandle"> * Developers Wiki: Fbml.setRefHandle</a> */ public boolean fbml_setRefHandle(CharSequence handle, CharSequence fbmlMarkup) throws FacebookException, IOException; /** * Recaches the image with the specified imageUrl. * @param imageUrl String representing the image URL to refresh * @return boolean indicating whether the refresh succeeded */ public boolean fbml_refreshImgSrc(String imageUrl) throws FacebookException, IOException; /** * Recaches the image with the specified imageUrl. * @param imageUrl the image URL to refresh * @return boolean indicating whether the refresh succeeded */ public boolean fbml_refreshImgSrc(URL imageUrl) throws FacebookException, IOException; /** * Publishes a Mini-Feed story describing an action taken by a user, and * publishes aggregating News Feed stories to the friends of that user. * Stories are identified as being combinable if they have matching templates and substituted values. * @param actorId deprecated * @param titleTemplate markup (up to 60 chars, tags excluded) for the feed story's title * section. Must include the token <code>{actor}</code>. * @return whether the action story was successfully published; false in case * of a permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction"> * Developers Wiki: Feed.publishTemplatizedAction</a> * @see <a href="http://developers.facebook.com/tools.php?feed"> * Developers Resources: Feed Preview Console </a> * @deprecated since 01/18/2008 */ public boolean feed_publishTemplatizedAction(Integer actorId, CharSequence titleTemplate) throws FacebookException, IOException; /** * Publishes a Mini-Feed story describing an action taken by the logged-in user, and * publishes aggregating News Feed stories to their friends. * Stories are identified as being combinable if they have matching templates and substituted values. * @param titleTemplate markup (up to 60 chars, tags excluded) for the feed story's title * section. Must include the token <code>{actor}</code>. * @return whether the action story was successfully published; false in case * of a permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction"> * Developers Wiki: Feed.publishTemplatizedAction</a> * @see <a href="http://developers.facebook.com/tools.php?feed"> * Developers Resources: Feed Preview Console </a> */ public boolean feed_publishTemplatizedAction(CharSequence titleTemplate) throws FacebookException, IOException; /** * Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if * <code>pageActorId</code> is provided, page), and publishes aggregating News Feed stories * to the user's friends/page's fans. * Stories are identified as being combinable if they have matching templates and substituted values. * @param titleTemplate markup (up to 60 chars, tags excluded) for the feed story's title * section. Must include the token <code>{actor}</code>. * @param pageActorId (optional) the ID of the page into whose mini-feed the story is being published * @return whether the action story was successfully published; false in case * of a permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction"> * Developers Wiki: Feed.publishTemplatizedAction</a> * @see <a href="http://developers.facebook.com/tools.php?feed"> * Developers Resources: Feed Preview Console </a> */ public boolean feed_publishTemplatizedAction(CharSequence titleTemplate, Long pageActorId) throws FacebookException, IOException; /** * Publishes a Mini-Feed story describing an action taken by the logged-in user, and * publishes aggregating News Feed stories to their friends. * Stories are identified as being combinable if they have matching templates and substituted values. * @param actorId deprecated. * @param titleTemplate markup (up to 60 chars, tags excluded) for the feed story's title * section. Must include the token <code>{actor}</code>. * @param titleData (optional) contains token-substitution mappings for tokens that appear in * titleTemplate. Should not contain mappings for the <code>{actor}</code> or * <code>{target}</code> tokens. Required if tokens other than <code>{actor}</code> * or <code>{target}</code> appear in the titleTemplate. * @param bodyTemplate (optional) markup to be displayed in the feed story's body section. * can include tokens, of the form <code>{token}</code>, to be substituted using * bodyData. * @param bodyData (optional) contains token-substitution mappings for tokens that appear in * bodyTemplate. Required if the bodyTemplate contains tokens other than <code>{actor}</code> * and <code>{target}</code>. * @param bodyGeneral (optional) additional body markup that is not aggregated. If multiple instances * of this templated story are combined together, the markup in the bodyGeneral of * one of their stories may be displayed. * @param targetIds The user ids of friends of the actor, used for stories about a direct action between * the actor and these targets of his/her action. Required if either the titleTemplate or bodyTemplate * includes the token <code>{target}</code>. * @param images (optional) additional body markup that is not aggregated. If multiple instances * of this templated story are combined together, the markup in the bodyGeneral of * one of their stories may be displayed. * @return whether the action story was successfully published; false in case * of a permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction"> * Developers Wiki: Feed.publishTemplatizedAction</a> * @see <a href="http://developers.facebook.com/tools.php?feed"> * Developers Resources: Feed Preview Console </a> * @deprecated since 01/18/2008 */ public boolean feed_publishTemplatizedAction(Integer actorId, CharSequence titleTemplate, Map<String, CharSequence> titleData, CharSequence bodyTemplate, Map<String, CharSequence> bodyData, CharSequence bodyGeneral, Collection<Integer> targetIds, Collection<IFeedImage> images) throws FacebookException, IOException; /** * Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if * <code>pageActorId</code> is provided, page), and publishes aggregating News Feed stories * to the user's friends/page's fans. * Stories are identified as being combinable if they have matching templates and substituted values. * @param titleTemplate markup (up to 60 chars, tags excluded) for the feed story's title * section. Must include the token <code>{actor}</code>. * @param titleData (optional) contains token-substitution mappings for tokens that appear in * titleTemplate. Should not contain mappings for the <code>{actor}</code> or * <code>{target}</code> tokens. Required if tokens other than <code>{actor}</code> * or <code>{target}</code> appear in the titleTemplate. * @param bodyTemplate (optional) markup to be displayed in the feed story's body section. * can include tokens, of the form <code>{token}</code>, to be substituted using * bodyData. * @param bodyData (optional) contains token-substitution mappings for tokens that appear in * bodyTemplate. Required if the bodyTemplate contains tokens other than <code>{actor}</code> * and <code>{target}</code>. * @param bodyGeneral (optional) additional body markup that is not aggregated. If multiple instances * of this templated story are combined together, the markup in the bodyGeneral of * one of their stories may be displayed. * @param targetIds The user ids of friends of the actor, used for stories about a direct action between * the actor and these targets of his/her action. Required if either the titleTemplate or bodyTemplate * includes the token <code>{target}</code>. * @param images (optional) additional body markup that is not aggregated. If multiple instances * of this templated story are combined together, the markup in the bodyGeneral of * one of their stories may be displayed. * @param pageActorId (optional) the ID of the page into whose mini-feed the story is being published * @return whether the action story was successfully published; false in case * of a permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction"> * Developers Wiki: Feed.publishTemplatizedAction</a> * @see <a href="http://developers.facebook.com/tools.php?feed"> * Developers Resources: Feed Preview Console </a> */ public boolean feed_publishTemplatizedAction(CharSequence titleTemplate, Map<String, CharSequence> titleData, CharSequence bodyTemplate, Map<String, CharSequence> bodyData, CharSequence bodyGeneral, Collection<Integer> targetIds, Collection<IFeedImage> images, Long pageActorId) throws FacebookException, IOException; /** * Publish the notification of an action taken by a user to newsfeed. * @param title the title of the feed story (up to 60 characters, excluding tags) * @param body (optional) the body of the feed story (up to 200 characters, excluding tags) * @param images (optional) up to four pairs of image URLs and (possibly null) link URLs * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishActionOfUser"> * Developers Wiki: Feed.publishActionOfUser</a> */ public boolean feed_publishActionOfUser(CharSequence title, CharSequence body, Collection<IFeedImage> images) throws FacebookException, IOException; /** * Publish the notification of an action taken by a user to newsfeed. * @param title the title of the feed story (up to 60 characters, excluding tags) * @param body (optional) the body of the feed story (up to 200 characters, excluding tags) * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishActionOfUser"> * Developers Wiki: Feed.publishActionOfUser</a> */ public boolean feed_publishActionOfUser(CharSequence title, CharSequence body) throws FacebookException, IOException; /** * Publish a story to the logged-in user's newsfeed. * @param title the title of the feed story * @param body the body of the feed story * @param images (optional) up to four pairs of image URLs and (possibly null) link URLs * @param priority * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishStoryToUser"> * Developers Wiki: Feed.publishStoryToUser</a> */ public boolean feed_publishStoryToUser(CharSequence title, CharSequence body, Collection<IFeedImage> images, Integer priority) throws FacebookException, IOException; /** * Publish a story to the logged-in user's newsfeed. * @param title the title of the feed story * @param body the body of the feed story * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishStoryToUser"> * Developers Wiki: Feed.publishStoryToUser</a> */ public boolean feed_publishStoryToUser(CharSequence title, CharSequence body) throws FacebookException, IOException; /** * Publish a story to the logged-in user's newsfeed. * @param title the title of the feed story * @param body the body of the feed story * @param priority * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishStoryToUser"> * Developers Wiki: Feed.publishStoryToUser</a> */ public boolean feed_publishStoryToUser(CharSequence title, CharSequence body, Integer priority) throws FacebookException, IOException; /** * Publish a story to the logged-in user's newsfeed. * @param title the title of the feed story * @param body the body of the feed story * @param images (optional) up to four pairs of image URLs and (possibly null) link URLs * @return whether the story was successfully published; false in case of permission error * @see <a href="http://wiki.developers.facebook.com/index.php/Feed.publishStoryToUser"> * Developers Wiki: Feed.publishStoryToUser</a> */ public boolean feed_publishStoryToUser(CharSequence title, CharSequence body, Collection<IFeedImage> images) throws FacebookException, IOException; /** * Returns all visible events according to the filters specified. This may be used to find all events of a user, or to query specific eids. * @param eventIds filter by these event ID's (optional) * @param userId filter by this user only (optional) * @param startTime UTC lower bound (optional) * @param endTime UTC upper bound (optional) * @return T of events */ public T events_get(Integer userId, Collection<Long> eventIds, Long startTime, Long endTime) throws FacebookException, IOException; /** * Retrieves the membership list of an event * @param eventId event id * @return T consisting of four membership lists corresponding to RSVP status, with keys * 'attending', 'unsure', 'declined', and 'not_replied' */ public T events_getMembers(Number eventId) throws FacebookException, IOException; /** * Retrieves whether two users are friends. * @param userId1 * @param userId2 * @return T * @see <a href="http://wiki.developers.facebook.com/index.php/Friends.areFriends"> * Developers Wiki: Friends.areFriends</a> */ public T friends_areFriends(int userId1, int userId2) throws FacebookException, IOException; /** * Retrieves whether pairs of users are friends. * Returns whether the first user in <code>userIds1</code> is friends with the first user in * <code>userIds2</code>, the second user in <code>userIds1</code> is friends with the second user in * <code>userIds2</code>, etc. * @param userIds1 * @param userIds2 * @return T * @see <a href="http://wiki.developers.facebook.com/index.php/Friends.areFriends"> * Developers Wiki: Friends.areFriends</a> */ public T friends_areFriends(Collection<Integer> userIds1, Collection<Integer> userIds2) throws FacebookException, IOException; /** * Retrieves the friends of the currently logged in user. * @return T of friends * @see <a href="http://wiki.developers.facebook.com/index.php/Friends.get"> * Developers Wiki: Friends.get</a> */ public T friends_get() throws FacebookException, IOException; /** * Retrieves the friend lists of the currently logged in user. * @return T of friend lists * @see <a href="http://wiki.developers.facebook.com/index.php/Friends.getLists"> * Developers Wiki: Friends.getLists</a> */ public T friends_getLists() throws FacebookException, IOException; /** * Retrieves the friends of the currently logged in user that * are members of the friends list with ID <code>friendListId</code>. * @param friendListId the friend list for which friends should be fetched. * if <code>null</code>, all friends will be retrieved. * @return T of friends * @see <a href="http://wiki.developers.facebook.com/index.php/Friends.get"> * Developers Wiki: Friends.get</a> */ public T friends_get(Long friendListId) throws FacebookException, IOException; /** * Retrieves the friends of the currently logged in user, who are also users * of the calling application. * @return array of friends */ public T friends_getAppUsers() throws FacebookException, IOException; /** * Retrieves the requested info fields for the requested set of users. * @param userIds a collection of user IDs for which to fetch info * @param fields a set of ProfileFields * @return a T consisting of a list of users, with each user element * containing the requested fields. */ public T users_getInfo(Collection<Integer> userIds, EnumSet<ProfileField> fields) throws FacebookException, IOException; /** * Retrieves the requested info fields for the requested set of users. * @param userIds a collection of user IDs for which to fetch info * @param fields a set of strings describing the info fields desired, such as "last_name", "sex" * @return a T consisting of a list of users, with each user element * containing the requested fields. */ public T users_getInfo(Collection<Integer> userIds, Set<CharSequence> fields) throws FacebookException, IOException; /** * Retrieves the user ID of the user logged in to this API session * @return the Facebook user ID of the logged-in user */ public int users_getLoggedInUser() throws FacebookException, IOException; /** * Retrieves an indicator of whether the logged-in user has added the * application associated with the _apiKey. * @return boolean indicating whether the user has added the app * @see <a href="http://wiki.developers.facebook.com/index.php/Users.isAppAdded"> * Developers Wiki: Users.isAppAdded</a> */ public boolean users_isAppAdded() throws FacebookException, IOException; /** * Retrieves whether the logged-in user has granted the specified permission to this application. * @param permission an extended permission (e.g. FacebookExtendedPerm.MARKETPLACE, * "photo_upload") * @return boolean indicating whether the user has the permission * @see FacebookExtendedPerm * @see <a href="http://wiki.developers.facebook.com/index.php/Users.hasAppPermission"> * Developers Wiki: Users.hasAppPermission</a> */ public boolean users_hasAppPermission(CharSequence permission) throws FacebookException, IOException; /** * Sets the logged-in user's Facebook status. * Requires the status_update extended permission. * @return whether the status was successfully set * @see #users_hasAppPermission * @see FacebookExtendedPerm#STATUS_UPDATE * @see <a href="http://wiki.developers.facebook.com/index.php/Users.setStatus"> * Developers Wiki: Users.setStatus</a> */ public boolean users_setStatus(String status) throws FacebookException, IOException; /** * Clears the logged-in user's Facebook status. * Requires the status_update extended permission. * @return whether the status was successfully cleared * @see #users_hasAppPermission * @see FacebookExtendedPerm#STATUS_UPDATE * @see <a href="http://wiki.developers.facebook.com/index.php/Users.setStatus"> * Developers Wiki: Users.setStatus</a> */ public boolean users_clearStatus() throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param subjId retrieve from photos associated with this user (optional). * @param albumId retrieve from photos from this album (optional) * @param photoIds retrieve from this list of photos (optional) * * @return an T of photo objects. */ public T photos_get(Integer subjId, Long albumId, Collection<Long> photoIds) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param albumId retrieve from photos from this album (optional) * @param photoIds retrieve from this list of photos (optional) * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Long albumId, Collection<Long> photoIds) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param subjId retrieve from photos associated with this user (optional). * @param photoIds retrieve from this list of photos (optional) * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Integer subjId, Collection<Long> photoIds) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param subjId retrieve from photos associated with this user (optional). * @param albumId retrieve from photos from this album (optional) * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Integer subjId, Long albumId) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param photoIds retrieve from this list of photos (optional) * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Collection<Long> photoIds) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param albumId retrieve from photos from this album (optional) * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Long albumId) throws FacebookException, IOException; /** * Used to retrieve photo objects using the search parameters (one or more of the * parameters must be provided). * * @param subjId retrieve from photos associated with this user (optional). * @return an T of photo objects. * @see #photos_get(Integer, Long, Collection) * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.get"> * Developers Wiki: Photos.get</a> */ public T photos_get(Integer subjId) throws FacebookException, IOException; /** * Retrieves album metadata. Pass a user id and/or a list of album ids to specify the albums * to be retrieved (at least one must be provided) * * @param userId (optional) the id of the albums' owner (optional) * @param albumIds (optional) the ids of albums whose metadata is to be retrieved * @return album objects * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.getAlbums"> * Developers Wiki: Photos.getAlbums</a> */ public T photos_getAlbums(Integer userId, Collection<Long> albumIds) throws FacebookException, IOException; /** * Retrieves album metadata for albums owned by a user. * @param userId (optional) the id of the albums' owner (optional) * @return album objects * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.getAlbums"> * Developers Wiki: Photos.getAlbums</a> */ public T photos_getAlbums(Integer userId) throws FacebookException, IOException; /** * Retrieves album metadata for a list of album IDs. * @param albumIds the ids of albums whose metadata is to be retrieved * @return album objects * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.getAlbums"> * Developers Wiki: Photos.getAlbums</a> */ public T photos_getAlbums(Collection<Long> albumIds) throws FacebookException, IOException; /** * Retrieves the tags for the given set of photos. * @param photoIds The list of photos from which to extract photo tags. * @return the created album */ public T photos_getTags(Collection<Long> photoIds) throws FacebookException, IOException; /** * Creates an album. * @param albumName The list of photos from which to extract photo tags. * @return the created album */ public T photos_createAlbum(String albumName) throws FacebookException, IOException; /** * Creates an album. * @param name The album name. * @param location The album location (optional). * @param description The album description (optional). * @return an array of photo objects. */ public T photos_createAlbum(String name, String description, String location) throws FacebookException, IOException; /** * Adds several tags to a photo. * @param photoId The photo id of the photo to be tagged. * @param tags A list of PhotoTags. * @return a list of booleans indicating whether the tag was successfully added. */ public T photos_addTags(Long photoId, Collection<PhotoTag> tags) throws FacebookException, IOException; /** * Adds a tag to a photo. * @param photoId The photo id of the photo to be tagged. * @param xPct The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo. * @param yPct The vertical position of the tag, as a percentage from 0 to 100, from the top of the photo. * @param taggedUserId The list of photos from which to extract photo tags. * @return whether the tag was successfully added. */ public boolean photos_addTag(Long photoId, Integer taggedUserId, Double xPct, Double yPct) throws FacebookException, IOException; /** * Adds a tag to a photo. * @param photoId The photo id of the photo to be tagged. * @param xPct The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo. * @param yPct The list of photos from which to extract photo tags. * @param tagText The text of the tag. * @return whether the tag was successfully added. */ public boolean photos_addTag(Long photoId, CharSequence tagText, Double xPct, Double yPct) throws FacebookException, IOException; /** * Uploads a photo to Facebook. * @param photo an image file * @return a T with the standard Facebook photo information * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.upload"> * Developers wiki: Photos.upload</a> */ public T photos_upload(File photo) throws FacebookException, IOException; /** * Uploads a photo to Facebook. * @param photo an image file * @param caption a description of the image contents * @return a T with the standard Facebook photo information * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.upload"> * Developers wiki: Photos.upload</a> */ public T photos_upload(File photo, String caption) throws FacebookException, IOException; /** * Uploads a photo to Facebook. * @param photo an image file * @param albumId the album into which the photo should be uploaded * @return a T with the standard Facebook photo information * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.upload"> * Developers wiki: Photos.upload</a> */ public T photos_upload(File photo, Long albumId) throws FacebookException, IOException; /** * Uploads a photo to Facebook. * @param photo an image file * @param caption a description of the image contents * @param albumId the album into which the photo should be uploaded * @return a T with the standard Facebook photo information * @see <a href="http://wiki.developers.facebook.com/index.php/Photos.upload"> * Developers wiki: Photos.upload</a> */ public T photos_upload(File photo, String caption, Long albumId) throws FacebookException, IOException; /** * Retrieves the groups associated with a user * @param userId Optional: User associated with groups. * A null parameter will default to the session user. * @param groupIds Optional: group ids to query. * A null parameter will get all groups for the user. * @return array of groups */ public T groups_get(Integer userId, Collection<Long> groupIds) throws FacebookException, IOException; /** * Retrieves the membership list of a group * @param groupId the group id * @return a T containing four membership lists of * 'members', 'admins', 'officers', and 'not_replied' */ public T groups_getMembers(Number groupId) throws FacebookException, IOException; /** * Retrieves the results of a Facebook Query Language query * @param query : the FQL query statement * @return varies depending on the FQL query */ public T fql_query(CharSequence query) throws FacebookException, IOException; /** * Retrieves the outstanding notifications for the session user. * @return a T containing * notification count pairs for 'messages', 'pokes' and 'shares', * a uid list of 'friend_requests', a gid list of 'group_invites', * and an eid list of 'event_invites' */ public T notifications_get() throws FacebookException, IOException; /** * Send a notification message to the specified users on behalf of the logged-in user. * * @param recipientIds the user ids to which the message is to be sent. if empty, * notification will be sent to logged-in user. * @param notification the FBML to be displayed on the notifications page; only a stripped-down * set of FBML tags that result in text and links is allowed * @return a URL, possibly null, to which the user should be redirected to finalize * the sending of the email * @see <a href="http://wiki.developers.facebook.com/index.php/Notifications.send"> * Developers Wiki: notifications.send</a> */ public void notifications_send(Collection<Integer> recipientIds, CharSequence notification) throws FacebookException, IOException; /** * Send a notification message to the logged-in user. * * @param notification the FBML to be displayed on the notifications page; only a stripped-down * set of FBML tags that result in text and links is allowed * @return a URL, possibly null, to which the user should be redirected to finalize * the sending of the email * @see <a href="http://wiki.developers.facebook.com/index.php/Notifications.send"> * Developers Wiki: notifications.send</a> */ public void notifications_send(CharSequence notification) throws FacebookException, IOException; /** * Sends a notification email to the specified users, who must have added your application. * You can send five (5) emails to a user per day. Requires a session key for desktop applications, which may only * send email to the person whose session it is. This method does not require a session for Web applications. * Either <code>fbml</code> or <code>text</code> must be specified. * * @param recipientIds up to 100 user ids to which the message is to be sent * @param subject the subject of the notification email (optional) * @param fbml markup to be sent to the specified users via email; only a stripped-down set of FBML tags * that result in text, links and linebreaks is allowed * @param text the plain text to send to the specified users via email * @return a comma-separated list of the IDs of the users to whom the email was successfully sent * @see <a href="http://wiki.developers.facebook.com/index.php/Notifications.sendEmail"> * Developers Wiki: notifications.sendEmail</a> */ public String notifications_sendEmail(Collection<Integer> recipientIds, CharSequence subject, CharSequence fbml, CharSequence text) throws FacebookException, IOException; /** * Sends a notification email to the specified users, who must have added your application. * You can send five (5) emails to a user per day. Requires a session key for desktop applications, which may only * send email to the person whose session it is. This method does not require a session for Web applications. * * @param recipientIds up to 100 user ids to which the message is to be sent * @param subject the subject of the notification email (optional) * @param fbml markup to be sent to the specified users via email; only a stripped-down set of FBML * that allows only tags that result in text, links and linebreaks is allowed * @return a comma-separated list of the IDs of the users to whom the email was successfully sent * @see <a href="http://wiki.developers.facebook.com/index.php/Notifications.send"> * Developers Wiki: notifications.sendEmail</a> */ public String notifications_sendEmail(Collection<Integer> recipientIds, CharSequence subject, CharSequence fbml) throws FacebookException, IOException; /** * Sends a notification email to the specified users, who must have added your application. * You can send five (5) emails to a user per day. Requires a session key for desktop applications, which may only * send email to the person whose session it is. This method does not require a session for Web applications. * * @param recipientIds up to 100 user ids to which the message is to be sent * @param subject the subject of the notification email (optional) * @param text the plain text to send to the specified users via email * @return a comma-separated list of the IDs of the users to whom the email was successfully sent * @see <a href="http://wiki.developers.facebook.com/index.php/Notifications.sendEmail"> * Developers Wiki: notifications.sendEmail</a> */ public String notifications_sendEmailPlain(Collection<Integer> recipientIds, CharSequence subject, CharSequence text) throws FacebookException, IOException; /** * Determines whether this application can send SMS to the user identified by <code>userId</code> * @param userId a user ID * @return true if sms can be sent to the user * @see FacebookExtendedPerm#SMS * @see <a href="http://wiki.developers.facebook.com/index.php/Mobile#Application_generated_messages"> * Developers Wiki: Mobile: Application Generated Messages</a> */ public boolean sms_canSend(Integer userId) throws FacebookException, IOException; /** * Sends a message via SMS to the user identified by <code>userId</code>, with * the expectation that the user will reply. The SMS extended permission is required for success. * The returned mobile session ID can be stored and used in {@link #sms_sendResponse} when * the user replies. * * @param userId a user ID * @param message the message to be sent via SMS * @return a mobile session ID (can be used in {@link #sms_sendResponse}) * @throws FacebookException in case of error, e.g. SMS is not enabled * @throws IOException * @see FacebookExtendedPerm#SMS * @see <a href="http://wiki.developers.facebook.com/index.php/Mobile#Application_generated_messages"> * Developers Wiki: Mobile: Application Generated Messages</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Mobile#Workflow"> * Developers Wiki: Mobile: Workflow</a> */ public int sms_sendMessageWithSession(Integer userId, CharSequence message) throws FacebookException, IOException; /** * Sends a message via SMS to the user identified by <code>userId</code>. * The SMS extended permission is required for success. * * @param userId a user ID * @param message the message to be sent via SMS * @throws FacebookException in case of error * @throws IOException * @see FacebookExtendedPerm#SMS * @see <a href="http://wiki.developers.facebook.com/index.php/Mobile#Application_generated_messages"> * Developers Wiki: Mobile: Application Generated Messages</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Mobile#Workflow"> * Developers Wiki: Mobile: Workflow</a> */ public void sms_sendMessage(Integer userId, CharSequence message) throws FacebookException, IOException; /** * Call this function and store the result, using it to generate the * appropriate login url and then to retrieve the session information. * @return an authentication token */ public String auth_createToken() throws FacebookException, IOException; /** * Call this function to retrieve the session information after your user has * logged in. * @param authToken the token returned by auth_createToken or passed back to your callback_url. */ public String auth_getSession(String authToken) throws FacebookException, IOException; /** * Call this function to get the user ID. * * @return The ID of the current session's user, or -1 if none. */ public int auth_getUserId(String authToken) throws FacebookException, IOException; /** * Create a marketplace listing. The create_listing extended permission is required. * @param showOnProfile whether * @return the id of the created listing * @see #users_hasAppPermission * @see FacebookExtendedPerm#MARKETPLACE * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.createListing"> * Developers Wiki: marketplace.createListing</a> */ public Long marketplace_createListing(Boolean showOnProfile, MarketplaceListing attrs) throws FacebookException, IOException; /** * Modify a marketplace listing. The create_listing extended permission is required. * @return the id of the edited listing * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.createListing"> * Developers Wiki: marketplace.createListing</a> */ public Long marketplace_editListing(Long listingId, Boolean showOnProfile, MarketplaceListing attrs) throws FacebookException, IOException; /** * Remove a marketplace listing. The create_listing extended permission is required. * @param listingId the listing to be removed * @return boolean indicating whether the listing was removed * @see #users_hasAppPermission * @see FacebookExtendedPerm#MARKETPLACE * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.removeListing"> * Developers Wiki: marketplace.removeListing</a> */ public boolean marketplace_removeListing(Long listingId) throws FacebookException, IOException; /** * Remove a marketplace listing. The create_listing extended permission is required. * @param listingId the listing to be removed * @param status MARKETPLACE_STATUS_DEFAULT, MARKETPLACE_STATUS_SUCCESS, or MARKETPLACE_STATUS_NOT_SUCCESS * @return boolean indicating whether the listing was removed * @see #users_hasAppPermission * @see FacebookExtendedPerm#MARKETPLACE * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.removeListing"> * Developers Wiki: marketplace.removeListing</a> */ public boolean marketplace_removeListing(Long listingId, CharSequence status) throws FacebookException, IOException; /** * Get the categories available in marketplace. * @return a T listing the marketplace categories * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.getCategories"> * Developers Wiki: marketplace.getCategories</a> */ public T marketplace_getCategories() throws FacebookException, IOException; /** * Get the subcategories available for a category. * @param category a category, e.g. "HOUSING" * @return a T listing the marketplace sub-categories * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.getSubCategories"> * Developers Wiki: marketplace.getSubCategories</a> */ public T marketplace_getSubCategories(CharSequence category) throws FacebookException, IOException; /** * Fetch marketplace listings, filtered by listing IDs and/or the posting users' IDs. * @param listingIds listing identifiers (required if uids is null/empty) * @param userIds posting user identifiers (required if listingIds is null/empty) * @return a T of marketplace listings * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.getListings"> * Developers Wiki: marketplace.getListings</a> */ public T marketplace_getListings(Collection<Long> listingIds, Collection<Integer> userIds) throws FacebookException, IOException; /** * Search for marketplace listings, optionally by category, subcategory, and/or query string. * @param category the category of listings desired (optional except if subcategory is provided) * @param subCategory the subcategory of listings desired (optional) * @param query a query string (optional) * @return a T of marketplace listings * @see <a href="http://wiki.developers.facebook.com/index.php/Marketplace.search"> * Developers Wiki: marketplace.search</a> */ public T marketplace_search(CharSequence category, CharSequence subCategory, CharSequence query) throws FacebookException, IOException; /** * Retrieves the requested profile fields for the Facebook Pages with the given * <code>pageIds</code>. Can be called for pages that have added the application * without establishing a session. * @param pageIds the page IDs * @param fields a set of page profile fields * @return a T consisting of a list of pages, with each page element * containing the requested fields. * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.getInfo"> * Developers Wiki: Pages.getInfo</a> */ public T pages_getInfo(Collection<Long> pageIds, EnumSet<PageProfileField> fields) throws FacebookException, IOException; /** * Retrieves the requested profile fields for the Facebook Pages with the given * <code>pageIds</code>. Can be called for pages that have added the application * without establishing a session. * @param pageIds the page IDs * @param fields a set of page profile fields * @return a T consisting of a list of pages, with each page element * containing the requested fields. * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.getInfo"> * Developers Wiki: Pages.getInfo</a> */ public T pages_getInfo(Collection<Long> pageIds, Set<CharSequence> fields) throws FacebookException, IOException; /** * Retrieves the requested profile fields for the Facebook Pages of the user with the given * <code>userId</code>. * @param userId the ID of a user about whose pages to fetch info * @param fields a set of PageProfileFields * @return a T consisting of a list of pages, with each page element * containing the requested fields. * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.getInfo"> * Developers Wiki: Pages.getInfo</a> */ public T pages_getInfo(Integer userId, EnumSet<PageProfileField> fields) throws FacebookException, IOException; /** * Retrieves the requested profile fields for the Facebook Pages of the user with the given * <code>userId</code>. * @param userId the ID of a user about whose pages to fetch info * @param fields a set of page profile fields * @return a T consisting of a list of pages, with each page element * containing the requested fields. * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.getInfo"> * Developers Wiki: Pages.getInfo</a> */ public T pages_getInfo(Integer userId, Set<CharSequence> fields) throws FacebookException, IOException; /** * Checks whether a page has added the application * @param pageId the ID of the page * @return true if the page has added the application * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.isAppAdded"> * Developers Wiki: Pages.isAppAdded</a> */ public boolean pages_isAppAdded(Long pageId) throws FacebookException, IOException; /** * Checks whether a user is a fan of the page with the given <code>pageId</code>. * @param pageId the ID of the page * @param userId the ID of the user (defaults to the logged-in user if null) * @return true if the user is a fan of the page * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.isFan"> * Developers Wiki: Pages.isFan</a> */ public boolean pages_isFan(Long pageId, Integer userId) throws FacebookException, IOException; /** * Checks whether the logged-in user is a fan of the page with the given <code>pageId</code>. * @param pageId the ID of the page * @return true if the logged-in user is a fan of the page * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.isFan"> * Developers Wiki: Pages.isFan</a> */ public boolean pages_isFan(Long pageId) throws FacebookException, IOException; /** * Checks whether the logged-in user for this session is an admin of the page * with the given <code>pageId</code>. * @param pageId the ID of the page * @return true if the logged-in user is an admin * @see <a href="http://wiki.developers.facebook.com/index.php/Pages.isAdmin"> * Developers Wiki: Pages.isAdmin</a> */ public boolean pages_isAdmin(Long pageId) throws FacebookException, IOException; /** * Sets several property values for an application. The properties available * are analogous to the ones editable via the Facebook Developer application. * A session is not required to use this method. * @param properties an ApplicationPropertySet that is translated into * a single JSON String. * @return a boolean indicating whether the properties were successfully set */ public boolean admin_setAppProperties(ApplicationPropertySet properties) throws FacebookException, IOException; /** * Gets property values previously set for an application on either the Facebook Developer application or * the with the <code>admin.setAppProperties</code> call. * A session is not required to use this method. * @param properties an enumeration of the properties to get * @return an ApplicationPropertySet * @see ApplicationProperty * @see <a href="http://wiki.developers.facebook.com/index.php/Admin.getAppProperties"> * Developers Wiki: Admin.getAppProperties</a> */ public ApplicationPropertySet admin_getAppProperties(EnumSet<ApplicationProperty> properties) throws FacebookException, IOException; /** * Retrieves all cookies for the application and the given <code>userId</code>. * If a <code>cookieName</code> is specified, only that cookie will be returned. * * @param userId The user from whom to get the cookies (defaults to logged-in user). * @param cookieName The name of the cookie to get. If null, all cookies * will be returned * @return a T of cookies. * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.getCookies</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public T data_getCookies(Integer userId, CharSequence cookieName) throws FacebookException, IOException; /** * Retrieves all cookies for the application and the given <code>userId</code>. * * @param userId The user from whom to get the cookies (defaults to logged-in user). * @return a T of cookies. * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.getCookies</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public T data_getCookies(Integer userId) throws FacebookException, IOException; /** * Sets a cookie for a given user and application. * @param userId The user for whom this cookie needs to be set * @param cookieName Name of the cookie. * @param cookieValue Value of the cookie. * @return true if cookie was successfully set, false otherwise * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.setCookie</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public boolean data_setCookie(Integer userId, CharSequence cookieName, CharSequence cookieValue) throws FacebookException, IOException; /** * Sets a cookie for a given user and application. * @param userId The user for whom this cookie needs to be set * @param cookieName Name of the cookie. * @param cookieValue Value of the cookie. * @param path Path relative to the application's callback URL, with which the cookie should be associated. * If null, defaulted to "/" * @return true if cookie was successfully set, false otherwise * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.setCookie</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public boolean data_setCookie(Integer userId, CharSequence cookieName, CharSequence cookieValue, CharSequence path) throws FacebookException, IOException; /** * Sets a cookie for a given user and application. * @param userId The user for whom this cookie needs to be set * @param cookieName Name of the cookie. * @param cookieValue Value of the cookie. * @param expiresTimestamp Time stamp when the cookie should expire. If not specified, the cookie never expires. * @return true if cookie was successfully set, false otherwise * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.setCookie</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public boolean data_setCookie(Integer userId, CharSequence cookieName, CharSequence cookieValue, Long expiresTimestamp) throws FacebookException, IOException; /** * Sets a cookie for a given user and application. * @param userId The user for whom this cookie needs to be set * @param cookieName Name of the cookie. * @param cookieValue Value of the cookie. * @param expiresTimestamp Time stamp when the cookie should expire. If not specified, the cookie never expires. * @return true if cookie was successfully set, false otherwise * @see <a href="http://wiki.developers.facebook.com/index.php/Data.getCookies"> * Developers Wiki: Data.setCookie</a> * @see <a href="http://wiki.developers.facebook.com/index.php/Cookies"> * Developers Wiki: Cookies</a> */ public boolean data_setCookie(Integer userId, CharSequence cookieName, CharSequence cookieValue, Long expiresTimestamp, CharSequence path) throws FacebookException, IOException; }