com.google.code.facebookapi
Class ExtensibleClient<T>

java.lang.Object
  extended by com.google.code.facebookapi.ExtensibleClient<T>
All Implemented Interfaces:
IFacebookRestClient<T>
Direct Known Subclasses:
FacebookJaxbRestClient, FacebookJsonRestClient, FacebookXmlRestClient

public abstract class ExtensibleClient<T>
extends java.lang.Object
implements IFacebookRestClient<T>

Base class for interacting with the Facebook Application Programming Interface (API). Most Facebook API methods map directly to function calls of this class.
Instances of FacebookRestClient should be initialized via calls to auth_createToken(), followed by auth_getSession(java.lang.String).
For continually updated documentation, please refer to the Developer Wiki.


Field Summary
protected  java.lang.String _apiKey
           
protected  boolean _isDesktop
           
protected  int _readTimeout
           
protected  java.lang.String _secret
           
protected  java.net.URL _serverUrl
           
protected  int _timeout
           
static int BATCH_LIMIT
           
protected  boolean batchMode
           
protected  java.lang.Boolean cacheAppAdded
          Deprecated. 
protected  java.lang.Boolean cacheAppUser
           
protected  java.lang.Long cacheSessionExpires
           
protected  java.lang.String cacheSessionKey
           
protected  java.lang.String cacheSessionSecret
          filled in when session is established only used for desktop apps
protected  java.lang.Long cacheUserId
           
protected static java.lang.String CRLF
           
static java.net.URL HTTPS_SERVER_URL
           
protected static javax.xml.bind.JAXBContext JAXB_CONTEXT
           
protected static org.apache.commons.logging.Log log
           
static java.lang.String MARKETPLACE_STATUS_DEFAULT
           
static java.lang.String MARKETPLACE_STATUS_NOT_SUCCESS
           
static java.lang.String MARKETPLACE_STATUS_SUCCESS
           
protected  java.lang.String permissionsApiKey
           
protected static java.lang.String PREF
           
protected  java.util.List<com.google.code.facebookapi.BatchQuery> queries
           
protected  java.lang.String rawResponse
           
static java.net.URL SERVER_URL
           
protected static int UPLOAD_BUFFER_SIZE
           
 
Fields inherited from interface com.google.code.facebookapi.IFacebookRestClient
ERROR_TAG, FB_SERVER, HTTPS_SERVER_ADDR, SERVER_ADDR, TARGET_API_VERSION
 
Constructor Summary
protected ExtensibleClient(java.lang.String apiKey, java.lang.String secret)
           
protected ExtensibleClient(java.lang.String apiKey, java.lang.String secret, int timeout)
           
protected ExtensibleClient(java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey)
           
protected ExtensibleClient(java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey, int connectionTimeout)
           
protected ExtensibleClient(java.lang.String serverAddr, java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey)
           
protected ExtensibleClient(java.lang.String serverAddr, java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey, int connectionTimeout)
           
protected ExtensibleClient(java.net.URL serverUrl, java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey)
           
protected ExtensibleClient(java.net.URL serverUrl, java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey, int timeout)
           
protected ExtensibleClient(java.net.URL serverUrl, java.lang.String apiKey, java.lang.String secret, java.lang.String sessionKey, int timeout, int readTimeout)
           
 
Method Summary
protected static boolean addParam(java.lang.String name, java.lang.CharSequence value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParam(java.lang.String name, java.lang.Long value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParam(java.lang.String name, java.lang.Object value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParamDelimitIfNotBlankEmpty(java.lang.String name, java.lang.Iterable value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParamIfNotBlank(java.lang.String name, java.lang.CharSequence value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParamIfNotBlank(java.lang.String name, java.lang.Long value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParamIfNotBlankZero(java.lang.String name, java.lang.Long value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
protected static boolean addParamSecondsIfNotBlank(java.lang.String name, java.util.Date value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
 int admin_getAllocation(AllocationType allocationType)
          Get your application's current allocation of the specified type of request (i.e.
 int admin_getAllocation(java.lang.String allocationType)
          Get your application's current allocation of the specified type of request (i.e.
 org.json.JSONObject admin_getAppProperties(java.util.Collection<ApplicationProperty> properties)
          Deprecated. use admin_getAppPropertiesMap() instead
 ApplicationPropertySet admin_getAppPropertiesAsSet(java.util.EnumSet<ApplicationProperty> properties)
          Gets property values previously set for an application on either the Facebook Developer application or the with the admin.setAppProperties call.
 java.util.Map<ApplicationProperty,java.lang.String> admin_getAppPropertiesMap(java.util.Collection<ApplicationProperty> properties)
          Retrieve application properties.
 T admin_getDailyMetrics(java.util.Set<Metric> metrics, java.util.Date start, java.util.Date end)
          Deprecated. 
 T admin_getDailyMetrics(java.util.Set<Metric> metrics, long start, long end)
          Deprecated. 
 T admin_getMetrics(java.util.Set<Metric> metrics, java.util.Date start, java.util.Date end, long period)
          Retrieve metrics for the current application.
 T admin_getMetrics(java.util.Set<Metric> metrics, long start, long end, long period)
          Retrieve the daily metrics for the current application.
 int admin_getNotificationAllocation()
          Deprecated. 
 int admin_getRequestAllocation()
          Deprecated. 
 boolean admin_setAppProperties(ApplicationPropertySet properties)
          Sets several property values for an application.
 boolean admin_setAppProperties(java.util.Map<ApplicationProperty,java.lang.String> properties)
          Set application properties.
 T application_getPublicInfo(java.lang.Long applicationId, java.lang.String applicationKey, java.lang.String applicationCanvas)
          Gets the public information about the specified application.
 T application_getPublicInfoByApiKey(java.lang.String applicationKey)
          Gets the public information about the specified application, by API key.
 T application_getPublicInfoByCanvasName(java.lang.String applicationCanvas)
          Gets the public information about the specified application, by canvas-page name.
 T application_getPublicInfoById(java.lang.Long applicationId)
          Gets the public information about the specified application, by application id.
 java.lang.String auth_createToken()
          Call this function and store the result, using it to generate the appropriate login url and then to retrieve the session information.
 boolean auth_expireSession()
          Expires the curently active session.
abstract  java.lang.String auth_getSession(java.lang.String authToken)
          Call this function to retrieve the session information after your user has logged in.
 long auth_getUserId(java.lang.String authToken)
          Deprecated. please call auth_getSession(authToken), then you can call users_getLoggedInUser(), or getCacheUserId()
 java.lang.String auth_promoteSession()
          Generate a key for the current session that can be used to authenticate client-side components.
 boolean auth_revokeAuthorization()
          If this method is called for the logged in user, then no further API calls can be made on that user's behalf until the user decides to authorize the application again.
 T batch_run(java.lang.String methods, boolean serial)
          Executes a batch of queries.
 void beginBatch()
          Starts a batch of queries.
 void beginPermissionsMode(java.lang.String apiKey)
          Begins permissions mode, and allows the current application to begin making requests on behalf of the application associated with the specified API key.
protected  T callMethod(IFacebookMethod method, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> paramPairs)
          Call the specified method, with the given parameters, and return a DOM tree with the results.
protected  T callMethod(IFacebookMethod method, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> paramPairs, java.lang.String fileName, java.io.InputStream fileStream)
           
protected  T callMethod(IFacebookMethod method, Pair<java.lang.String,java.lang.CharSequence>... paramPairs)
          Call the specified method, with the given parameters, and return a DOM tree with the results.
protected static void close(java.io.Closeable c)
           
 int connect_getUnconnectedFriendsCount()
          This method returns the number of friends of the current user who have accounts on your site, but have not yet connected their accounts.
 T connect_registerUsers(java.util.Collection<java.util.Map<java.lang.String,java.lang.String>> accounts)
          This method is used to create an association between an external user account and a Facebook user account.
 T connect_unregisterUsers(java.util.Collection<java.lang.String> email_hashes)
          This method allows a site to unregister a previously registered account (using connect.registerUsers).
 long data_createObject(java.lang.String objectType, java.util.Map<java.lang.String,java.lang.String> properties)
          Create object in Data Store
 void data_createObjectType(java.lang.String name)
          An object type is like a "table" in SQL terminology, or a "class" in object-oriented programming concepts.
 void data_defineAssociation(java.lang.String associationName, AssociationType associationType, AssociationInfo associationInfo1, AssociationInfo associationInfo2, java.lang.String inverseName)
           
 void data_defineObjectProperty(java.lang.String objectType, java.lang.String propertyName, PropertyType propertyType)
           
 void data_deleteObject(long objectId)
          Delete object in Data Store
 void data_deleteObjects(java.util.Collection<java.lang.Long> objectIds)
          Delete multiple objects in Data Store WARNING: This method seems to fail when it comes across the first object that it can't find.
 void data_dropObjectType(java.lang.String objectType)
          Remove a previously defined object type.
 long data_getAssociatedObjectCount(java.lang.String associationName, long objectId)
          Returns count of object ids that are associated with specified object.
 T data_getAssociationDefinition(java.lang.String name)
           
 T data_getAssociationDefinitions()
           
 T data_getCookies()
          Get all cookies for the currently logged-in user.
 T data_getCookies(java.lang.Long userId)
          Get all cookies for the specified user.
 T data_getCookies(java.lang.Long userId, java.lang.CharSequence name)
          Get a specific cookie for the specified user.
 T data_getCookies(java.lang.String name)
          Get a specific cookie for the currently logged-in user.
 T data_getObject(long objectId)
           
 T data_getObjectProperty(long objectId, java.lang.String propertyName)
           
 T data_getObjects(java.util.Collection<java.lang.Long> objectIds)
           
 T data_getObjectType(java.lang.String objectType)
           
 T data_getObjectTypes()
           
 java.lang.String data_getUserPreference(int prefId)
          Lookup a single preference value for the current user.
 T data_getUserPreferences()
          Get a map containing all preference values set for the current user.
 void data_removeAssociatedObjects(java.lang.String associationName, long objectId)
          The name of this function may be misleading, but it actually removes associations between any other objects and a specified object.
 void data_removeAssociation(java.lang.String associationName, long object1Id, long object2Id)
          Removes an association between two object identifiers.
 void data_renameAssociation(java.lang.String name, java.lang.String newName, java.lang.String newAlias1, java.lang.String newAlias2)
          Rename a previously defined association.
 void data_renameObjectProperty(java.lang.String objectType, java.lang.String propertyName, java.lang.String newPropertyName)
           
 void data_renameObjectType(java.lang.String objectType, java.lang.String newName)
           
 void data_setAssociation(java.lang.String associationName, long object1Id, long object2Id, java.lang.String data, java.util.Date associationTime)
          Create an association between two objects
 boolean data_setCookie(java.lang.Long userId, java.lang.CharSequence name, java.lang.CharSequence value)
          Set a cookie for the specified user.
 boolean data_setCookie(java.lang.Long userId, java.lang.CharSequence name, java.lang.CharSequence value, java.lang.CharSequence path)
          Set a cookie for the specified user, with the specified path.
 boolean data_setCookie(java.lang.Long userId, java.lang.CharSequence name, java.lang.CharSequence value, java.lang.Long expires)
          Set a cookie for the specified user, with the specified expiration date.
 boolean data_setCookie(java.lang.Long userId, java.lang.CharSequence name, java.lang.CharSequence value, java.lang.Long expires, java.lang.CharSequence path)
          Set a cookie for the specified user, with the specified expiration date and path.
 boolean data_setCookie(java.lang.String name, java.lang.String value)
          Set a cookie for the current user.
 boolean data_setCookie(java.lang.String name, java.lang.String value, java.lang.Long expires)
          Set a cookie for the current user, with the specified expiration date.
 boolean data_setCookie(java.lang.String name, java.lang.String value, java.lang.Long expires, java.lang.String path)
          Set a cookie for the current user, with the specified expiration date and path.
 boolean data_setCookie(java.lang.String name, java.lang.String value, java.lang.String path)
          Set a cookie for the current user, under the specified path.
 void data_setObjectProperty(long objectId, java.lang.String propertyName, java.lang.String value)
           
 void data_setUserPreference(int prefId, java.lang.String value)
          Set a user-preference value.
 void data_setUserPreferences(java.util.Map<java.lang.Integer,java.lang.String> values, boolean replace)
          Set multiple user-preferences values.
 void data_undefineAssociation(java.lang.String name)
          Remove a previously defined association.
 void data_undefineObjectProperty(java.lang.String objectType, java.lang.String propertyName)
           
 void data_updateObject(long objectId, java.util.Map<java.lang.String,java.lang.String> properties, boolean replace)
          Update properties of an existing object in Data Store
protected static java.lang.CharSequence delimit(java.util.Collection<java.util.Map.Entry<java.lang.String,java.lang.String>> entries, java.lang.String delimiter, java.lang.String equals, boolean doEncode)
           
protected static void disconnect(java.net.HttpURLConnection conn)
           
protected  java.lang.String encodeMethods(java.util.List<com.google.code.facebookapi.BatchQuery> queries)
           
 void endPermissionsMode()
          Terminates permissions mode.
 boolean events_cancel(java.lang.Long eid, java.lang.String cancel_message)
          Cancels an event.
 java.lang.Long events_create(java.util.Map<java.lang.String,java.lang.String> event_info)
          Creates an event on behalf of the user if the application has an active session key for that user; otherwise it creates an event on behalf of the application.
 boolean events_edit(java.lang.Long eid, java.util.Map<java.lang.String,java.lang.String> event_info)
          Edits the details of an existing event.
 T events_get(java.lang.Long userId, java.util.Collection<java.lang.Long> eventIds, java.lang.Long startTime, java.lang.Long endTime)
          Returns all visible events according to the filters specified.
 T events_get(java.lang.Long userId, java.util.Collection<java.lang.Long> eventIds, java.lang.Long startTime, java.lang.Long endTime, java.lang.String rsvp_status)
          Returns all visible events according to the filters specified.
 T events_getMembers(java.lang.Long eventId)
          Retrieves the membership list of an event
 boolean events_rsvp(java.lang.Long eid, java.lang.String rsvp_status)
          Sets a user's RSVP status for an event.
protected  boolean extractBoolean(T result)
          Extracts a Boolean from a result that consists of a Boolean only.
protected abstract  int extractInt(T result)
          Extracts an Long from a result that consists of an Long only.
protected abstract  java.lang.Long extractLong(T result)
          Extracts an Long from a result that consists of a Long only.
protected abstract  java.lang.String extractString(T result)
          Extracts a String from a T consisting entirely of a String.
protected abstract  java.net.URL extractURL(T result)
          Extracts a URL from a result that consists of a URL only.
 boolean fbml_refreshImgSrc(java.lang.String imageUrl)
          Recaches the image with the specified imageUrl.
 boolean fbml_refreshImgSrc(java.net.URL imageUrl)
          Recaches the image with the specified imageUrl.
 boolean fbml_refreshRefUrl(java.lang.String url)
          Recaches the referenced url.
 boolean fbml_refreshRefUrl(java.net.URL url)
          Recaches the referenced url.
 boolean fbml_setRefHandle(java.lang.String handle, java.lang.String fbmlMarkup)
          Associates a "handle" with FBML markup so that the handle can be used within the fb:ref FBML tag.
 boolean feed_deactivateTemplateBundleByID(java.lang.Long bundleId)
          Deactivates the specified template bundle.
 T feed_getRegisteredTemplateBundleByID(java.lang.Long id)
          Retrieve a template bundle by id.
 T feed_getRegisteredTemplateBundles()
          Get a list of all registered template bundles for your application.
 boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate)
          Publishes a Mini-Feed story describing an action taken by the logged-in user, and publishes aggregating News Feed stories to their friends.
 boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate, java.lang.Long pageActorId)
          Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if pageActorId is provided, page), and publishes aggregating News Feed stories to the user's friends/page's fans.
 boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> titleData, java.lang.CharSequence bodyTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> bodyData, java.lang.CharSequence bodyGeneral, java.util.Collection<java.lang.Long> targetIds, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images, java.lang.Long pageActorId)
          Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if pageActorId is provided, page), and publishes aggregating News Feed stories to the user's friends/page's fans.
 boolean feed_publishTemplatizedAction(java.lang.Integer actorId, java.lang.CharSequence titleTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> titleData, java.lang.CharSequence bodyTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> bodyData, java.lang.CharSequence bodyGeneral, java.util.Collection<java.lang.Long> targetIds, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
          Deprecated. Use the version that takes a Long for the actorId paramter.
 boolean feed_publishTemplatizedAction(java.lang.Long actorId, java.lang.CharSequence titleTemplate)
          Deprecated. 
 boolean feed_publishTemplatizedAction(java.lang.Long actorId, java.lang.CharSequence titleTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> titleData, java.lang.CharSequence bodyTemplate, java.util.Map<java.lang.String,java.lang.CharSequence> bodyData, java.lang.CharSequence bodyGeneral, java.util.Collection<java.lang.Long> targetIds, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
          Publishes a Mini-Feed story describing an action taken by a user, and publishes aggregating News Feed stories to the friends of that user.
 boolean feed_publishTemplatizedAction(java.lang.String titleTemplate, java.lang.String titleData, java.lang.String bodyTemplate, java.lang.String bodyData, java.lang.String bodyGeneral, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> pictures, java.lang.String targetIds)
          Publishes a templatized action for the current user.
 boolean feed_PublishTemplatizedAction(TemplatizedAction action)
          Publishes a templatized action for the current user.
 java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId)
          Publishes a user action to the feed.
 java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId, java.util.Map<java.lang.String,java.lang.String> templateData, java.util.List<IFeedImage> images, java.util.List<java.lang.Long> targetIds, java.lang.String bodyGeneral, int storySize)
          Publishes a user action to the feed.
 java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId, java.util.Map<java.lang.String,java.lang.String> templateData, java.util.List<java.lang.Long> targetIds, java.lang.String bodyGeneral)
          Publishes a user action to the feed.
 java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates)
          Registers a feed template.
 java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates, java.util.Collection<BundleStoryTemplate> shortTemplates, BundleStoryTemplate longTemplate)
          Registers a feed template.
 java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates, java.util.Collection<BundleStoryTemplate> shortTemplates, BundleStoryTemplate longTemplate, java.util.List<BundleActionLink> actionLinks)
          Registers a feed template.
 java.lang.Long feed_registerTemplateBundle(java.lang.String template)
          Registers a feed template.
 java.lang.Long feed_registerTemplateBundle(java.lang.String template, java.lang.String shortTemplate, java.lang.String longTemplate)
          Deprecated. 
 T fql_query(java.lang.CharSequence query)
          Retrieves the results of a Facebook Query Language query
 T friends_areFriends(java.util.Collection<java.lang.Long> userIds1, java.util.Collection<java.lang.Long> userIds2)
          Retrieves whether pairs of users are friends.
 T friends_areFriends(long userId1, long userId2)
          Retrieves whether two users are friends.
 T friends_get()
          Retrieves the friends of the currently logged in user.
 T friends_get(java.lang.Long uid)
          Retrieves the friends uid.
 T friends_getAppUsers()
          Retrieves the friends of the currently logged in user, who are also users of the calling application.
 T friends_getList(java.lang.Long friendListId)
          Retrieves the friends of the currently logged in user that are members of the friends list with ID friendListId.
 T friends_getLists()
          Retrieves the friend lists of the currently logged in user.
 java.lang.Boolean getCacheAppAdded()
          Deprecated. 
 java.lang.Boolean getCacheAppUser()
           
 java.lang.Long getCacheSessionExpires()
           
 java.lang.String getCacheSessionKey()
           
 java.lang.String getCacheSessionSecret()
           
 java.lang.Long getCacheUserId()
           
 java.net.URL getDefaultServerUrl()
           
 javax.xml.bind.JAXBContext getJaxbContext()
          Get the JAXB context that is being used by the client.
 java.lang.String getRawResponse()
          Returns a string representation for the last API response recieved from Facebook, exactly as sent by the API server.
abstract  java.lang.String getResponseFormat()
          The response format in which results to FacebookMethod calls are returned
 java.lang.Object getResponsePOJO()
          Returns a JAXB object of the type that corresponds to the last API call made on the client.
 java.lang.String getSessionSecret()
          Gets the session-token used by Facebook to authenticate a desktop application.
 T groups_get(java.lang.Long userId, java.util.Collection<java.lang.Long> groupIds)
          Retrieves the groups associated with a user
 T groups_getMembers(java.lang.Number groupId)
          Retrieves the membership list of a group
protected  void handleFeedImages(java.util.List<Pair<java.lang.String,java.lang.CharSequence>> params, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
          Adds image parameters
static void initJaxbSupport()
           
 boolean isDesktop()
          Check to see if the client is running in desktop-app mode
 java.lang.Boolean liveMessage_send(java.lang.Long recipient, java.lang.String eventName, org.json.JSONObject message)
          Sends a message using the LiveMessage API.
 java.lang.Long marketplace_createListing(boolean showOnProfile, MarketListing listing)
          Create a new marketplace listing.
 java.lang.Long marketplace_createListing(boolean showOnProfile, MarketListing listing, java.lang.Long userId)
          Create a new marketplace listing.
 java.lang.Long marketplace_createListing(java.lang.Boolean showOnProfile, MarketplaceListing attrs)
          Deprecated. 
 java.lang.Long marketplace_createListing(java.lang.Long listingId, boolean showOnProfile, MarketListing listing)
          Create a new marketplace listing, or modify an existing one.
 java.lang.Long marketplace_createListing(java.lang.Long listingId, boolean showOnProfile, MarketListing listing, java.lang.Long userId)
          Create a new marketplace listing, or modify an existing one.
 java.lang.Long marketplace_createListing(java.lang.Long listingId, boolean showOnProfile, java.lang.String attributes)
          Create a new marketplace listing, or modify an existing one.
 java.lang.Long marketplace_createListing(java.lang.Long listingId, boolean showOnProfile, java.lang.String attributes, java.lang.Long userId)
          Create a new marketplace listing, or modify an existing one.
 java.lang.Long marketplace_editListing(java.lang.Long listingId, java.lang.Boolean showOnProfile, MarketListing attrs)
          Modify a marketplace listing
 java.lang.Long marketplace_editListing(java.lang.Long listingId, java.lang.Boolean showOnProfile, MarketplaceListing attrs)
          Deprecated. 
 java.util.List<java.lang.String> marketplace_getCategories()
          Deprecated. 
 T marketplace_getCategoriesObject()
          Get the categories available in marketplace.
 T marketplace_getListings(java.util.Collection<java.lang.Long> listingIds, java.util.Collection<java.lang.Long> userIds)
          Fetch marketplace listings, filtered by listing IDs and/or the posting users' IDs.
 T marketplace_getSubCategories(java.lang.CharSequence category)
          Get the subcategories available for a category.
 boolean marketplace_removeListing(java.lang.Long listingId)
          Remove a marketplace listing
 boolean marketplace_removeListing(java.lang.Long listingId, java.lang.CharSequence status)
          Deprecated. 
 boolean marketplace_removeListing(java.lang.Long listingId, java.lang.Long userId)
          Remove a marketplace listing.
 boolean marketplace_removeListing(java.lang.Long listingId, MarketListingStatus status)
          Remove a listing from the marketplace by id.
 boolean marketplace_removeListing(java.lang.Long listingId, MarketListingStatus status, java.lang.Long userId)
          Remove a listing from the marketplace by id.
 T marketplace_search(java.lang.CharSequence category, java.lang.CharSequence subCategory, java.lang.CharSequence query)
          Deprecated. 
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name, boolean value)
          Deprecated. 
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name, java.lang.CharSequence value)
           
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name, java.lang.Integer value)
           
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name, java.lang.Long value)
           
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name, java.lang.Object value)
           
protected static Pair<java.lang.String,java.lang.CharSequence> newPair10(java.lang.String name, boolean value)
           
protected static Pair<java.lang.String,java.lang.CharSequence> newPairTF(java.lang.String name, boolean value)
           
 T notifications_get()
          Retrieves the outstanding notifications for the session user.
 void notifications_send(java.lang.CharSequence notification)
          Send a notification message to the logged-in user.
 void notifications_send(java.util.Collection<java.lang.Long> recipientIds, java.lang.CharSequence notification)
          Send a notification message to the specified users.
 java.net.URL notifications_send(java.util.Collection<java.lang.Long> recipientIds, java.lang.CharSequence notification, java.lang.CharSequence email)
          Deprecated. 
 void notifications_send(java.util.Collection<java.lang.Long> recipientIds, java.lang.String notification, boolean isAppToUser)
          Sends a notification.
 java.lang.String notifications_sendEmail(java.util.Collection<java.lang.Long> recipients, java.lang.CharSequence subject, java.lang.CharSequence fbml)
          Deprecated. 
 T notifications_sendEmail(java.util.Collection<java.lang.Long> recipients, java.lang.CharSequence subject, java.lang.CharSequence text, java.lang.CharSequence fbml)
          Send an e-mail to a set of app-users.
 java.lang.String notifications_sendEmailPlain(java.util.Collection<java.lang.Long> recipients, java.lang.CharSequence subject, java.lang.CharSequence text)
          Deprecated. 
 java.lang.String notifications_sendEmailStr(java.util.Collection<java.lang.Long> recipients, java.lang.CharSequence subject, java.lang.CharSequence fbml, java.lang.CharSequence text)
          Deprecated. 
 T notifications_sendEmailToCurrentUser(java.lang.String subject, java.lang.String email, java.lang.String fbml)
          Send an e-mail to the currently logged-in user.
 T notifications_sendFbmlEmail(java.util.Collection<java.lang.Long> recipients, java.lang.String subject, java.lang.String fbml)
          Send an e-mail to a set of app-users.
 T notifications_sendFbmlEmailToCurrentUser(java.lang.String subject, java.lang.String fbml)
          Send an e-mail to the currently logged-in user.
 T notifications_sendTextEmail(java.util.Collection<java.lang.Long> recipients, java.lang.String subject, java.lang.String email)
          Send an e-mail to a set of app-users.
 T notifications_sendTextEmailToCurrentUser(java.lang.String subject, java.lang.String email)
          Send an e-mail to the currently logged-in user.
 T pages_getInfo(java.util.Collection<java.lang.Long> pageIds, java.util.EnumSet<PageProfileField> fields)
          Retrieves the requested profile fields for the Facebook Pages with the given pageIds.
 T pages_getInfo(java.util.Collection<java.lang.Long> pageIds, java.util.Set<java.lang.CharSequence> fields)
          Retrieves the requested profile fields for the Facebook Pages with the given pageIds.
 T pages_getInfo(java.lang.Long userId, java.util.EnumSet<PageProfileField> fields)
          Retrieves the requested profile fields for the Facebook Pages of the user with the given userId.
 T pages_getInfo(java.lang.Long userId, java.util.Set<java.lang.CharSequence> fields)
          Retrieves the requested profile fields for the Facebook Pages of the user with the given userId.
 boolean pages_isAdmin(java.lang.Long pageId)
          Checks whether the logged-in user for this session is an admin of the page with the given pageId.
 boolean pages_isAppAdded(java.lang.Long pageId)
          Checks whether a page has added the application
 boolean pages_isFan(java.lang.Long pageId)
          Checks whether the logged-in user is a fan of the page with the given pageId.
 boolean pages_isFan(java.lang.Long pageId, java.lang.Long userId)
          Checks whether a user is a fan of the page with the given pageId.
protected abstract  T parseCallResult(java.io.InputStream data, IFacebookMethod method)
          Parses the result of an API call into a T.
 T permissions_checkAvailableApiAccess(java.lang.String apiKey)
          Check to see what permissions have been granted to current app by the specified external application.
 T permissions_checkGrantedApiAccess(java.lang.String apiKey)
          Check to see what permissions have been granted to specified external application by the current application.
 boolean permissions_grantApiAccess(java.lang.String apiKey, java.util.Set<FacebookMethod> methods)
          Grant permission to an external app to make API calls on behalf of the current application.
 boolean permissions_grantFullApiAccess(java.lang.String apiKey)
          Grant permission to an external app to make API calls on behalf of the current application.
 boolean permissions_revokeApiAccess(java.lang.String apiKey)
          Revokes the specified application's permission to call API methods on behalf of the current app.
 boolean photos_addTag(java.lang.Long photoId, java.lang.CharSequence tagText, java.lang.Double xPct, java.lang.Double yPct)
          Adds a tag to a photo.
 boolean photos_addTag(java.lang.Long photoId, java.lang.CharSequence tagText, java.lang.Double pct, java.lang.Double pct2, java.lang.Long userId)
          Adds a tag to a photo.
 boolean photos_addTag(java.lang.Long photoId, java.lang.Long taggedUserId, java.lang.Double xPct, java.lang.Double yPct)
          Adds a tag to a photo.
 boolean photos_addTag(java.lang.Long photoId, java.lang.Long taggedUserId, java.lang.Double pct, java.lang.Double pct2, java.lang.Long userId)
          Adds a tag to a photo.
 T photos_addTags(java.lang.Long photoId, java.lang.Iterable<PhotoTag> tags)
          Adds several tags to a photo.
 T photos_addTags(java.lang.Long photoId, java.lang.Iterable<PhotoTag> tags, java.lang.Long userId)
          Adds several tags to a photo.
 T photos_createAlbum(java.lang.String albumName)
          Creates an album.
 T photos_createAlbum(java.lang.String albumName, java.lang.Long userId)
          Creates an album.
 T photos_createAlbum(java.lang.String name, java.lang.String description, java.lang.String location)
          Creates an album.
 T photos_createAlbum(java.lang.String name, java.lang.String description, java.lang.String location, java.lang.Long userId)
          Creates an album.
 T photos_get(java.lang.Iterable<java.lang.Long> photoIds)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_get(java.lang.Long subjId)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_get(java.lang.Long subjId, java.lang.Iterable<java.lang.Long> photoIds)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_get(java.lang.Long subjId, java.lang.Long albumId)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_get(java.lang.Long subjId, java.lang.Long albumId, java.lang.Iterable<java.lang.Long> photoIds)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_getAlbums(java.lang.Iterable<java.lang.Long> albumIds)
          Retrieves album metadata for a list of album IDs.
 T photos_getAlbums(java.lang.Long userId)
          Retrieves album metadata for albums owned by a user.
 T photos_getAlbums(java.lang.Long userId, java.lang.Iterable<java.lang.Long> albumIds)
          Retrieves album metadata.
 T photos_getByAlbum(java.lang.Long albumId)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_getByAlbum(java.lang.Long albumId, java.lang.Iterable<java.lang.Long> photoIds)
          Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).
 T photos_getTags(java.lang.Iterable<java.lang.Long> photoIds)
          Retrieves the tags for the given set of photos.
 T photos_upload(java.io.File photo)
          Uploads a photo to Facebook.
 T photos_upload(java.io.File photo, java.lang.Long albumId)
          Uploads a photo to Facebook.
 T photos_upload(java.io.File photo, java.lang.String caption)
          Uploads a photo to Facebook.
 T photos_upload(java.io.File photo, java.lang.String caption, java.lang.Long albumId)
          Uploads a photo to Facebook.
 T photos_upload(java.lang.Long userId, java.io.File photo)
          Uploads a photo to Facebook.
 T photos_upload(java.lang.Long userId, java.io.File photo, java.lang.Long albumId)
          Uploads a photo to Facebook.
 T photos_upload(java.lang.Long userId, java.io.File photo, java.lang.String caption)
          Uploads a photo to Facebook.
 T photos_upload(java.lang.Long userId, java.io.File photo, java.lang.String caption, java.lang.Long albumId)
          Uploads a photo to Facebook.
 T photos_upload(java.lang.Long userId, java.lang.String caption, java.lang.Long albumId, java.lang.String fileName, java.io.InputStream fileStream)
          Uploads a photo to Facebook.
protected  java.lang.String postFileRequest(IFacebookMethod method, java.util.Map<java.lang.String,java.lang.String> params, java.lang.String fileName, java.io.InputStream fileStream)
          Helper function for posting a request that includes raw file data, eg photos_upload(java.io.File).
protected static void printDom(org.w3c.dom.Node n, java.lang.String prefix, java.lang.StringBuilder sb)
          Prints out the DOM tree.
 T profile_getFBML()
          Gets the FBML for the current user's profile box.
 T profile_getFBML(int type)
          Gets the FBML for the current user's profile boxes.
 T profile_getFBML(int type, java.lang.Long userId)
          Gets the FBML for the user's profile boxes.
 T profile_getFBML(java.lang.Long userId)
          Gets the FBML for the user's profile box.
 T profile_getInfo(java.lang.Long userId)
          Get the specified user's application-info section.
 T profile_getInfoOptions(java.lang.String field)
          Get the options associated with the specified field for an application info section.
 boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup, java.lang.CharSequence profileActionFbmlMarkup)
          Sets the FBML for the profile box and profile actions for the logged-in user.
 boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup, java.lang.CharSequence profileActionFbmlMarkup, java.lang.CharSequence mobileFbmlMarkup)
          Sets the FBML for the profile box, profile actions, and mobile devices for the current user.
 boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup, java.lang.CharSequence profileActionFbmlMarkup, java.lang.CharSequence mobileFbmlMarkup, java.lang.Long profileId)
          Sets the FBML for the profile box, profile actions, and mobile devices for the user or page profile with ID profileId.
 boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup, java.lang.CharSequence profileActionFbmlMarkup, java.lang.Long profileId)
          Sets the FBML for the profile box and profile actions for the user or page profile with ID profileId.
 boolean profile_setFBML(java.lang.Long userId, java.lang.String profileFbml, java.lang.String actionFbml, java.lang.String mobileFbml)
           
 boolean profile_setFBML(java.lang.Long userId, java.lang.String profileFbml, java.lang.String actionFbml, java.lang.String mobileFbml, java.lang.String profileMain)
          Sets the FBML for a user's profile, including the content for both the profile box and the profile actions.
 void profile_setInfo(java.lang.Long userId, java.lang.String title, boolean textOnly, java.util.List<ProfileInfoField> fields)
          Configures an application info section that the specified user can install on the Info tab of her profile.
 void profile_setInfoOptions(ProfileInfoField field)
          Specifies the objects for a field for an application info section.
 boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup)
          Sets the FBML for the logged-in user's profile on mobile devices.
 boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup, java.lang.Long profileId)
          Sets the FBML for the user or page profile with ID profileId on mobile devices.
 boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup)
          Sets the FBML for profile actions for the logged-in user.
 boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup, java.lang.Long profileId)
          Sets the FBML for profile actions for the user or page profile with ID profileId.
 boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup)
          Sets the FBML for a profile box on the logged-in user's profile.
 boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup, java.lang.Long profileId)
          Sets the FBML for a profile box on the user or page profile with ID profileId.
protected static java.lang.RuntimeException runtimeException(java.lang.Exception ex)
           
 void setCacheAppAdded(java.lang.Boolean cacheAppAdded)
          Deprecated. 
 void setCacheAppUser(java.lang.Boolean cacheAppUser)
           
 void setCacheSession(java.lang.String cacheSessionKey, java.lang.Long cacheUserId, java.lang.Long cacheSessionExpires)
           
 void setCacheSessionExpires(java.lang.Long cacheSessionExpires)
           
 void setCacheSessionKey(java.lang.String cacheSessionKey)
           
 void setCacheSessionSecret(java.lang.String cacheSessionSecret)
           
 void setCacheUserId(java.lang.Long cacheUserId)
           
 void setDefaultServerUrl(java.net.URL newUrl)
           
 void setIsDesktop(boolean isDesktop)
          Set the client to run in desktop-app mode.
 void setJaxbContext(javax.xml.bind.JAXBContext context)
          Set the JAXB context that the client will use.
 void setServerUrl(java.lang.String newUrl)
          Override the default Facebook API server used for making requests.
 void setSessionSecret(java.lang.String key)
          Allows the session-token to be manually overridden when running a desktop application.
 boolean sms_canSend()
          Check to see if the application is permitted to send SMS messages to the current application user.
 boolean sms_canSend(java.lang.Long userId)
          Check to see if the application is permitted to send SMS messages to the specified user.
 java.lang.Integer sms_send(java.lang.Long userId, java.lang.String message, java.lang.Integer smsSessionId, boolean makeNewSession)
          Send an SMS message to the specified user.
 java.lang.Integer sms_send(java.lang.String message, java.lang.Integer smsSessionId, boolean makeNewSession)
          Send an SMS message to the current application user.
 void sms_sendMessage(java.lang.Long userId, java.lang.CharSequence message)
          Sends a message via SMS to the user identified by userId.
 int sms_sendMessageWithSession(java.lang.Long userId, java.lang.CharSequence message)
          Sends a message via SMS to the user identified by userId, with the expectation that the user will reply.
protected  boolean templatizedFeedHandler(java.lang.String titleTemplate, java.lang.String titleData, java.lang.String bodyTemplate, java.lang.String bodyData, java.lang.String bodyGeneral, java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> pictures, java.lang.String targetIds, java.lang.Long pageId)
           
protected static org.json.JSONObject toJson(java.util.Map<java.lang.String,java.lang.String> map)
           
protected static org.json.JSONArray toJsonListOfMaps(java.util.Collection<java.util.Map<java.lang.String,java.lang.String>> listOfMaps)
           
protected static org.json.JSONArray toJsonListOfStrings(java.util.Collection<java.lang.String> list)
           
protected static java.lang.String toString(java.lang.CharSequence cs)
           
 boolean users_clearStatus()
          Clears the logged-in user's Facebook status.
 T users_getInfo(java.lang.Iterable<java.lang.Long> userIds, java.util.Collection<ProfileField> fields)
          Retrieves the requested info fields for the requested set of users.
 T users_getInfo(java.lang.Iterable<java.lang.Long> userIds, java.util.Set<java.lang.CharSequence> fields)
          Retrieves the requested info fields for the requested set of users.
 long users_getLoggedInUser()
          Retrieves the user ID of the user logged in to this API session
 T users_getStandardInfo(java.lang.Iterable<java.lang.Long> userIds, java.util.Collection<ProfileField> fields)
          Returns an array of user-specific information for each user identifier passed, limited by the view of the current user.
 T users_getStandardInfo(java.lang.Iterable<java.lang.Long> userIds, java.util.Set<java.lang.CharSequence> fields)
          Returns an array of user-specific information for each user identifier passed, limited by the view of the current user.
 boolean users_hasAppPermission(Permission perm)
           
 boolean users_hasAppPermission(Permission perm, java.lang.Long userId)
          Checks whether the user has opted in to an extended application permission.
 boolean users_isAppAdded()
          Deprecated. 
 boolean users_isAppAdded(java.lang.Long userId)
          Deprecated. 
 boolean users_isAppUser()
           
 boolean users_isAppUser(java.lang.Long userId)
          Returns whether the user (either the session user or user specified by uid) has authorized the calling application.
 boolean users_setStatus(java.lang.String status)
          Sets the logged-in user's Facebook status.
 boolean users_setStatus(java.lang.String newStatus, boolean clear)
          Set the user's profile status message.
 boolean users_setStatus(java.lang.String newStatus, boolean clear, boolean statusIncludesVerb)
          Set the user's profile status message.
 boolean users_setStatus(java.lang.String newStatus, boolean clear, boolean statusIncludesVerb, java.lang.Long userId)
          Set the user's profile status message.
 boolean users_setStatus(java.lang.String newStatus, boolean clear, java.lang.Long userId)
          Set the user's profile status message.
 boolean users_setStatus(java.lang.String status, java.lang.Long userId)
          Sets the spedified user's Facebook status.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.code.facebookapi.IFacebookRestClient
admin_getAppPropertiesAsString, executeBatch, getCacheFriendsList, marketplace_getListings, marketplace_getSubCategories, marketplace_search, setCacheFriendsList
 

Field Detail

log

protected static org.apache.commons.logging.Log log

BATCH_LIMIT

public static final int BATCH_LIMIT
See Also:
Constant Field Values

SERVER_URL

public static java.net.URL SERVER_URL

HTTPS_SERVER_URL

public static java.net.URL HTTPS_SERVER_URL

JAXB_CONTEXT

protected static javax.xml.bind.JAXBContext JAXB_CONTEXT

_serverUrl

protected java.net.URL _serverUrl

_timeout

protected int _timeout

_readTimeout

protected int _readTimeout

_apiKey

protected final java.lang.String _apiKey

_secret

protected final java.lang.String _secret

_isDesktop

protected boolean _isDesktop

cacheSessionKey

protected java.lang.String cacheSessionKey

cacheUserId

protected java.lang.Long cacheUserId

cacheSessionExpires

protected java.lang.Long cacheSessionExpires

cacheSessionSecret

protected java.lang.String cacheSessionSecret
filled in when session is established only used for desktop apps


rawResponse

protected java.lang.String rawResponse

batchMode

protected boolean batchMode

queries

protected java.util.List<com.google.code.facebookapi.BatchQuery> queries

permissionsApiKey

protected java.lang.String permissionsApiKey

CRLF

protected static final java.lang.String CRLF
See Also:
Constant Field Values

PREF

protected static final java.lang.String PREF
See Also:
Constant Field Values

UPLOAD_BUFFER_SIZE

protected static final int UPLOAD_BUFFER_SIZE
See Also:
Constant Field Values

MARKETPLACE_STATUS_DEFAULT

public static final java.lang.String MARKETPLACE_STATUS_DEFAULT
See Also:
Constant Field Values

MARKETPLACE_STATUS_NOT_SUCCESS

public static final java.lang.String MARKETPLACE_STATUS_NOT_SUCCESS
See Also:
Constant Field Values

MARKETPLACE_STATUS_SUCCESS

public static final java.lang.String MARKETPLACE_STATUS_SUCCESS
See Also:
Constant Field Values

cacheAppAdded

@Deprecated
protected java.lang.Boolean cacheAppAdded
Deprecated. 

cacheAppUser

protected java.lang.Boolean cacheAppUser
Constructor Detail

ExtensibleClient

protected ExtensibleClient(java.lang.String apiKey,
                           java.lang.String secret)

ExtensibleClient

protected ExtensibleClient(java.lang.String apiKey,
                           java.lang.String secret,
                           int timeout)

ExtensibleClient

protected ExtensibleClient(java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey)

ExtensibleClient

protected ExtensibleClient(java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey,
                           int connectionTimeout)

ExtensibleClient

protected ExtensibleClient(java.lang.String serverAddr,
                           java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey)
                    throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException

ExtensibleClient

protected ExtensibleClient(java.lang.String serverAddr,
                           java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey,
                           int connectionTimeout)
                    throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException

ExtensibleClient

protected ExtensibleClient(java.net.URL serverUrl,
                           java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey,
                           int timeout)

ExtensibleClient

protected ExtensibleClient(java.net.URL serverUrl,
                           java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey,
                           int timeout,
                           int readTimeout)

ExtensibleClient

protected ExtensibleClient(java.net.URL serverUrl,
                           java.lang.String apiKey,
                           java.lang.String secret,
                           java.lang.String sessionKey)
Method Detail

initJaxbSupport

public static void initJaxbSupport()

beginPermissionsMode

public void beginPermissionsMode(java.lang.String apiKey)
Description copied from interface: IFacebookRestClient
Begins permissions mode, and allows the current application to begin making requests on behalf of the application associated with the specified API key. This method must be invoked prior to making an API request on behalf of another application. When you are done, be sure to call endPermissionsMode().

Specified by:
beginPermissionsMode in interface IFacebookRestClient<T>
Parameters:
apiKey - the API key of the application to being making requests for.

endPermissionsMode

public void endPermissionsMode()
Description copied from interface: IFacebookRestClient
Terminates permissions mode. After calling this, the current application will be unable to make requests on behalf of another app, until beginPermissionsMode is called again.

Specified by:
endPermissionsMode in interface IFacebookRestClient<T>

getJaxbContext

public javax.xml.bind.JAXBContext getJaxbContext()
Description copied from interface: IFacebookRestClient
Get the JAXB context that is being used by the client.

Specified by:
getJaxbContext in interface IFacebookRestClient<T>
Returns:
the JAXB context object.

setJaxbContext

public void setJaxbContext(javax.xml.bind.JAXBContext context)
Description copied from interface: IFacebookRestClient
Set the JAXB context that the client will use.

Specified by:
setJaxbContext in interface IFacebookRestClient<T>
Parameters:
context - the context to use.

getResponseFormat

public abstract java.lang.String getResponseFormat()
The response format in which results to FacebookMethod calls are returned

Returns:
the format: either XML, JSON, or null (API default)

getSessionSecret

public java.lang.String getSessionSecret()
Gets the session-token used by Facebook to authenticate a desktop application. If your application does not run in desktop mode, than this field is not relevent to you.

Returns:
the desktop-app session token.

setSessionSecret

public void setSessionSecret(java.lang.String key)
Allows the session-token to be manually overridden when running a desktop application. If your application does not run in desktop mode, then setting this field will have no effect. If you set an incorrect value here, your application will probably fail to run.

Parameters:
key - the new value to set. Incorrect values may cause your application to fail to run.

getCacheAppAdded

@Deprecated
public java.lang.Boolean getCacheAppAdded()
Deprecated. 

Specified by:
getCacheAppAdded in interface IFacebookRestClient<T>

setCacheAppAdded

@Deprecated
public void setCacheAppAdded(java.lang.Boolean cacheAppAdded)
Deprecated. 

Specified by:
setCacheAppAdded in interface IFacebookRestClient<T>

getCacheAppUser

public java.lang.Boolean getCacheAppUser()
Specified by:
getCacheAppUser in interface IFacebookRestClient<T>

setCacheAppUser

public void setCacheAppUser(java.lang.Boolean cacheAppUser)
Specified by:
setCacheAppUser in interface IFacebookRestClient<T>

getCacheSessionSecret

public java.lang.String getCacheSessionSecret()
Specified by:
getCacheSessionSecret in interface IFacebookRestClient<T>

setCacheSessionSecret

public void setCacheSessionSecret(java.lang.String cacheSessionSecret)

setCacheSession

public void setCacheSession(java.lang.String cacheSessionKey,
                            java.lang.Long cacheUserId,
                            java.lang.Long cacheSessionExpires)
Specified by:
setCacheSession in interface IFacebookRestClient<T>

getCacheSessionExpires

public java.lang.Long getCacheSessionExpires()
Specified by:
getCacheSessionExpires in interface IFacebookRestClient<T>

setCacheSessionExpires

public void setCacheSessionExpires(java.lang.Long cacheSessionExpires)

getCacheSessionKey

public java.lang.String getCacheSessionKey()
Specified by:
getCacheSessionKey in interface IFacebookRestClient<T>

setCacheSessionKey

public void setCacheSessionKey(java.lang.String cacheSessionKey)

getCacheUserId

public java.lang.Long getCacheUserId()
Specified by:
getCacheUserId in interface IFacebookRestClient<T>

setCacheUserId

public void setCacheUserId(java.lang.Long cacheUserId)

friends_areFriends

public T friends_areFriends(long userId1,
                            long userId2)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves whether two users are friends.

Specified by:
friends_areFriends in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.areFriends

friends_areFriends

public T friends_areFriends(java.util.Collection<java.lang.Long> userIds1,
                            java.util.Collection<java.lang.Long> userIds2)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves whether pairs of users are friends. Returns whether the first user in userIds1 is friends with the first user in userIds2, the second user in userIds1 is friends with the second user in userIds2, etc.

Specified by:
friends_areFriends in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.areFriends

fbml_refreshRefUrl

public boolean fbml_refreshRefUrl(java.lang.String url)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Recaches the referenced url.

Specified by:
fbml_refreshRefUrl in interface IFacebookRestClient<T>
Parameters:
url - string representing the URL to refresh
Returns:
boolean indicating whether the refresh succeeded
Throws:
FacebookException

handleFeedImages

protected void handleFeedImages(java.util.List<Pair<java.lang.String,java.lang.CharSequence>> params,
                                java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
Adds image parameters

Parameters:
params -
images -

auth_getSession

public abstract java.lang.String auth_getSession(java.lang.String authToken)
                                          throws FacebookException
Call this function to retrieve the session information after your user has logged in.

Specified by:
auth_getSession in interface IFacebookRestClient<T>
Parameters:
authToken - the token returned by auth_createToken or passed back to your callback_url.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Auth.getSession

feed_publishTemplatizedAction

@Deprecated
public boolean feed_publishTemplatizedAction(java.lang.Long actorId,
                                                        java.lang.CharSequence titleTemplate)
                                      throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
actorId - deprecated
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.Long actorId,
                                             java.lang.CharSequence titleTemplate,
                                             java.util.Map<java.lang.String,java.lang.CharSequence> titleData,
                                             java.lang.CharSequence bodyTemplate,
                                             java.util.Map<java.lang.String,java.lang.CharSequence> bodyData,
                                             java.lang.CharSequence bodyGeneral,
                                             java.util.Collection<java.lang.Long> targetIds,
                                             java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
                                      throws FacebookException
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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
actorId - the user into whose mini-feed the story is being published.
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
titleData - (optional) contains token-substitution mappings for tokens that appear in titleTemplate. Should not contain mappings for the {actor} or {target} tokens. Required if tokens other than {actor} or {target} appear in the titleTemplate.
bodyTemplate - (optional) markup to be displayed in the feed story's body section. can include tokens, of the form {token}, to be substituted using bodyData.
bodyData - (optional) contains token-substitution mappings for tokens that appear in bodyTemplate. Required if the bodyTemplate contains tokens other than {actor} and {target}.
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.
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 {target}.
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.
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction

feed_publishTemplatizedAction

@Deprecated
public boolean feed_publishTemplatizedAction(java.lang.Integer actorId,
                                                        java.lang.CharSequence titleTemplate,
                                                        java.util.Map<java.lang.String,java.lang.CharSequence> titleData,
                                                        java.lang.CharSequence bodyTemplate,
                                                        java.util.Map<java.lang.String,java.lang.CharSequence> bodyData,
                                                        java.lang.CharSequence bodyGeneral,
                                                        java.util.Collection<java.lang.Long> targetIds,
                                                        java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images)
                                      throws FacebookException
Deprecated. Use the version that takes a Long for the actorId paramter.

Description copied from interface: IFacebookRestClient
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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
actorId - the user into whose mini-feed the story is being published.
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
titleData - (optional) contains token-substitution mappings for tokens that appear in titleTemplate. Should not contain mappings for the {actor} or {target} tokens. Required if tokens other than {actor} or {target} appear in the titleTemplate.
bodyTemplate - (optional) markup to be displayed in the feed story's body section. can include tokens, of the form {token}, to be substituted using bodyData.
bodyData - (optional) contains token-substitution mappings for tokens that appear in bodyTemplate. Required if the bodyTemplate contains tokens other than {actor} and {target}.
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.
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 {target}.
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.
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

groups_getMembers

public T groups_getMembers(java.lang.Number groupId)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the membership list of a group

Specified by:
groups_getMembers in interface IFacebookRestClient<T>
Parameters:
groupId - the group id
Returns:
a T containing four membership lists of 'members', 'admins', 'officers', and 'not_replied'
Throws:
FacebookException

friends_getAppUsers

public T friends_getAppUsers()
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the friends of the currently logged in user, who are also users of the calling application.

Specified by:
friends_getAppUsers in interface IFacebookRestClient<T>
Returns:
array of friends
Throws:
FacebookException

fql_query

public T fql_query(java.lang.CharSequence query)
            throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the results of a Facebook Query Language query

Specified by:
fql_query in interface IFacebookRestClient<T>
Parameters:
query - : the FQL query statement
Returns:
varies depending on the FQL query
Throws:
FacebookException

groups_get

public T groups_get(java.lang.Long userId,
                    java.util.Collection<java.lang.Long> groupIds)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the groups associated with a user

Specified by:
groups_get in interface IFacebookRestClient<T>
Parameters:
userId - Optional: User associated with groups. A null parameter will default to the session user.
groupIds - Optional: group ids to query. A null parameter will get all groups for the user.
Returns:
array of groups
Throws:
FacebookException

callMethod

protected T callMethod(IFacebookMethod method,
                       Pair<java.lang.String,java.lang.CharSequence>... paramPairs)
                throws FacebookException
Call the specified method, with the given parameters, and return a DOM tree with the results.

Parameters:
method - the fieldName of the method
paramPairs - a list of arguments to the method
Throws:
java.lang.Exception - with a description of any errors given to us by the server.
FacebookException

callMethod

protected T callMethod(IFacebookMethod method,
                       java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> paramPairs)
                throws FacebookException
Call the specified method, with the given parameters, and return a DOM tree with the results.

Parameters:
method - the fieldName of the method
paramPairs - a list of arguments to the method
Throws:
java.lang.Exception - with a description of any errors given to us by the server.
FacebookException

callMethod

protected T callMethod(IFacebookMethod method,
                       java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> paramPairs,
                       java.lang.String fileName,
                       java.io.InputStream fileStream)
                throws FacebookException
Throws:
FacebookException

postFileRequest

protected java.lang.String postFileRequest(IFacebookMethod method,
                                           java.util.Map<java.lang.String,java.lang.String> params,
                                           java.lang.String fileName,
                                           java.io.InputStream fileStream)
                                    throws java.io.IOException
Helper function for posting a request that includes raw file data, eg photos_upload(java.io.File).

Parameters:
methodName - the name of the method
params - request parameters (not including the file)
doEncode - whether to UTF8-encode the parameters
Returns:
an InputStream with the request response
Throws:
java.io.IOException
See Also:
photos_upload(java.io.File)

parseCallResult

protected abstract T parseCallResult(java.io.InputStream data,
                                     IFacebookMethod method)
                              throws FacebookException,
                                     java.io.IOException
Parses the result of an API call into a T.

Parameters:
data - an InputStream with the results of a request to the Facebook servers
method - the method called
Returns:
a T
Throws:
FacebookException - if data represents an error
java.io.IOException - if data is not readable

fbml_refreshRefUrl

public boolean fbml_refreshRefUrl(java.net.URL url)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Recaches the referenced url.

Specified by:
fbml_refreshRefUrl in interface IFacebookRestClient<T>
Parameters:
url - the URL to refresh
Returns:
boolean indicating whether the refresh succeeded
Throws:
FacebookException

notifications_get

public T notifications_get()
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the outstanding notifications for the session user.

Specified by:
notifications_get in interface IFacebookRestClient<T>
Returns:
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'
Throws:
FacebookException

users_getStandardInfo

public T users_getStandardInfo(java.lang.Iterable<java.lang.Long> userIds,
                               java.util.Collection<ProfileField> fields)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Returns an array of user-specific information for each user identifier passed, limited by the view of the current user. The information you can get from this call is limited to: uid, first_name, last_name, name, timezone, birthday, sex, affiliations (regional type only)

Specified by:
users_getStandardInfo in interface IFacebookRestClient<T>
Parameters:
userIds - a collection of user IDs for which to fetch info
fields - a set of ProfileFields
Returns:
a T consisting of a list of users, with each user element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getStandardInfo

users_getStandardInfo

public T users_getStandardInfo(java.lang.Iterable<java.lang.Long> userIds,
                               java.util.Set<java.lang.CharSequence> fields)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Returns an array of user-specific information for each user identifier passed, limited by the view of the current user. The information you can get from this call is limited to: uid, first_name, last_name, name, timezone, birthday, sex, affiliations (regional type only)

Specified by:
users_getStandardInfo in interface IFacebookRestClient<T>
Parameters:
userIds - a collection of user IDs for which to fetch info
fields - a set of strings describing the info fields desired, such as "last_name", "sex"
Returns:
a T consisting of a list of users, with each user element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getStandardInfo

users_getInfo

public T users_getInfo(java.lang.Iterable<java.lang.Long> userIds,
                       java.util.Collection<ProfileField> fields)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the requested info fields for the requested set of users.

Specified by:
users_getInfo in interface IFacebookRestClient<T>
Parameters:
userIds - a collection of user IDs for which to fetch info
fields - a set of ProfileFields
Returns:
a T consisting of a list of users, with each user element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getInfo

users_getInfo

public T users_getInfo(java.lang.Iterable<java.lang.Long> userIds,
                       java.util.Set<java.lang.CharSequence> fields)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the requested info fields for the requested set of users.

Specified by:
users_getInfo in interface IFacebookRestClient<T>
Parameters:
userIds - a collection of user IDs for which to fetch info
fields - a set of strings describing the info fields desired, such as "last_name", "sex"
Returns:
a T consisting of a list of users, with each user element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getInfo

users_getLoggedInUser

public long users_getLoggedInUser()
                           throws FacebookException
Retrieves the user ID of the user logged in to this API session

Specified by:
users_getLoggedInUser in interface IFacebookRestClient<T>
Returns:
the Facebook user ID of the logged-in user
Throws:
FacebookException

auth_getUserId

@Deprecated
public long auth_getUserId(java.lang.String authToken)
                    throws FacebookException
Deprecated. please call auth_getSession(authToken), then you can call users_getLoggedInUser(), or getCacheUserId()

Call this function to get the user ID.

Specified by:
auth_getUserId in interface IFacebookRestClient<T>
Returns:
The ID of the current session's user, or -1 if none.
Throws:
FacebookException

isDesktop

public boolean isDesktop()
Description copied from interface: IFacebookRestClient
Check to see if the client is running in desktop-app mode

Specified by:
isDesktop in interface IFacebookRestClient<T>
Returns:
true if the app is running in desktop mode. false otherwise

users_isAppAdded

@Deprecated
public boolean users_isAppAdded()
                         throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Retrieves an indicator of whether the logged-in user has added the application associated with the _apiKey.

Specified by:
users_isAppAdded in interface IFacebookRestClient<T>
Returns:
boolean indicating whether the user has added the app
Throws:
FacebookException
See Also:
Users.isAppAdded

users_isAppUser

public boolean users_isAppUser()
                        throws FacebookException
Specified by:
users_isAppUser in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
Users.isAppUser, IFacebookRestClient.users_isAppUser(Long)

users_isAppUser

public boolean users_isAppUser(java.lang.Long userId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Returns whether the user (either the session user or user specified by uid) has authorized the calling application.

Specified by:
users_isAppUser in interface IFacebookRestClient<T>
Parameters:
userId - The user ID of the user who may have authorized the application. If this parameter is not specified, then it defaults to the session user. Note: This parameter applies only to Web applications and is required by them only if the session_key is not specified. Facebook ignores this parameter if it is passed by a desktop application.
Throws:
FacebookException
See Also:
Users.isAppUser

users_setStatus

public boolean users_setStatus(java.lang.String status)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the logged-in user's Facebook status. Requires the status_update extended permission.

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Returns:
whether the status was successfully set
Throws:
FacebookException
See Also:
IFacebookRestClient.users_hasAppPermission(com.google.code.facebookapi.Permission), FacebookExtendedPerm.STATUS_UPDATE, http://wiki.developers.facebook.com/index.php/Users.setStatus

users_clearStatus

public boolean users_clearStatus()
                          throws FacebookException
Description copied from interface: IFacebookRestClient
Clears the logged-in user's Facebook status. Requires the status_update extended permission.

Specified by:
users_clearStatus in interface IFacebookRestClient<T>
Returns:
whether the status was successfully cleared
Throws:
FacebookException
See Also:
IFacebookRestClient.users_hasAppPermission(com.google.code.facebookapi.Permission), FacebookExtendedPerm.STATUS_UPDATE, http://wiki.developers.facebook.com/index.php/Users.setStatus

notifications_send

@Deprecated
public java.net.URL notifications_send(java.util.Collection<java.lang.Long> recipientIds,
                                                  java.lang.CharSequence notification,
                                                  java.lang.CharSequence email)
                                throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Send a notification message to the specified users.

Specified by:
notifications_send in interface IFacebookRestClient<T>
Parameters:
recipientIds - the user ids to which the message is to be sent
notification - the FBML to display on the notifications page
email - the FBML to send to the specified users via email, or null if no email should be sent
Returns:
a URL, possibly null, to which the user should be redirected to finalize the sending of the email
Throws:
FacebookException

fbml_refreshImgSrc

public boolean fbml_refreshImgSrc(java.lang.String imageUrl)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Recaches the image with the specified imageUrl.

Specified by:
fbml_refreshImgSrc in interface IFacebookRestClient<T>
Parameters:
imageUrl - String representing the image URL to refresh
Returns:
boolean indicating whether the refresh succeeded
Throws:
FacebookException

setIsDesktop

public void setIsDesktop(boolean isDesktop)
Description copied from interface: IFacebookRestClient
Set the client to run in desktop-app mode.

Specified by:
setIsDesktop in interface IFacebookRestClient<T>
Parameters:
isDesktop - set to true to enable desktop mode set to false to disable desktop mode

delimit

protected static java.lang.CharSequence delimit(java.util.Collection<java.util.Map.Entry<java.lang.String,java.lang.String>> entries,
                                                java.lang.String delimiter,
                                                java.lang.String equals,
                                                boolean doEncode)

fbml_refreshImgSrc

public boolean fbml_refreshImgSrc(java.net.URL imageUrl)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Recaches the image with the specified imageUrl.

Specified by:
fbml_refreshImgSrc in interface IFacebookRestClient<T>
Parameters:
imageUrl - the image URL to refresh
Returns:
boolean indicating whether the refresh succeeded
Throws:
FacebookException

friends_get

public T friends_get()
              throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the friends of the currently logged in user.

Specified by:
friends_get in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.get

friends_get

public T friends_get(java.lang.Long uid)
              throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the friends uid.

Specified by:
friends_get in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.get

auth_createToken

public java.lang.String auth_createToken()
                                  throws FacebookException
Description copied from interface: IFacebookRestClient
Call this function and store the result, using it to generate the appropriate login url and then to retrieve the session information.

Specified by:
auth_createToken in interface IFacebookRestClient<T>
Returns:
an authentication token
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Auth.createToken

marketplace_createListing

@Deprecated
public java.lang.Long marketplace_createListing(java.lang.Boolean showOnProfile,
                                                           MarketplaceListing attrs)
                                         throws FacebookException
Deprecated. 

Create a marketplace listing

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
showOnProfile - whether the listing can be shown on the user's profile
attrs - the properties of the listing
Returns:
the id of the created listing
Throws:
FacebookException
See Also:
MarketplaceListing, Developers Wiki: marketplace.createListing

marketplace_editListing

@Deprecated
public java.lang.Long marketplace_editListing(java.lang.Long listingId,
                                                         java.lang.Boolean showOnProfile,
                                                         MarketplaceListing attrs)
                                       throws FacebookException
Deprecated. 

Modify a marketplace listing

Specified by:
marketplace_editListing in interface IFacebookRestClient<T>
Parameters:
listingId - identifies the listing to be modified
showOnProfile - whether the listing can be shown on the user's profile
attrs - the properties of the listing
Returns:
the id of the edited listing
Throws:
FacebookException
See Also:
MarketplaceListing, Developers Wiki: marketplace.createListing

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId)
                                  throws FacebookException
Remove a marketplace listing

Specified by:
marketplace_removeListing in interface IFacebookRestClient<T>
Parameters:
listingId - the listing to be removed
Returns:
boolean indicating whether the listing was removed
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.removeListing

marketplace_removeListing

@Deprecated
public boolean marketplace_removeListing(java.lang.Long listingId,
                                                    java.lang.CharSequence status)
                                  throws FacebookException
Deprecated. 

Remove a marketplace listing

Specified by:
marketplace_removeListing in interface IFacebookRestClient<T>
Parameters:
listingId - the listing to be removed
status - MARKETPLACE_STATUS_DEFAULT, MARKETPLACE_STATUS_SUCCESS, or MARKETPLACE_STATUS_NOT_SUCCESS
Returns:
boolean indicating whether the listing was removed
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.removeListing

marketplace_getCategories

@Deprecated
public java.util.List<java.lang.String> marketplace_getCategories()
                                                           throws FacebookException
Deprecated. 

Get the categories available in marketplace.

Specified by:
marketplace_getCategories in interface IFacebookRestClient<T>
Returns:
a T listing the marketplace categories
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.getCategories

marketplace_getSubCategories

public T marketplace_getSubCategories(java.lang.CharSequence category)
                               throws FacebookException
Get the subcategories available for a category.

Specified by:
marketplace_getSubCategories in interface IFacebookRestClient<T>
Parameters:
category - a category, e.g. "HOUSING"
Returns:
a T listing the marketplace sub-categories
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.getSubCategories

marketplace_getListings

public T marketplace_getListings(java.util.Collection<java.lang.Long> listingIds,
                                 java.util.Collection<java.lang.Long> userIds)
                          throws FacebookException
Fetch marketplace listings, filtered by listing IDs and/or the posting users' IDs.

Specified by:
marketplace_getListings in interface IFacebookRestClient<T>
Parameters:
listingIds - listing identifiers (required if uids is null/empty)
userIds - posting user identifiers (required if listingIds is null/empty)
Returns:
a T of marketplace listings
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.getListings

marketplace_search

@Deprecated
public T marketplace_search(java.lang.CharSequence category,
                                       java.lang.CharSequence subCategory,
                                       java.lang.CharSequence query)
                     throws FacebookException
Deprecated. 

Search for marketplace listings, optionally by category, subcategory, and/or query string.

Specified by:
marketplace_search in interface IFacebookRestClient<T>
Parameters:
category - the category of listings desired (optional except if subcategory is provided)
subCategory - the subcategory of listings desired (optional)
query - a query string (optional)
Returns:
a T of marketplace listings
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.search

marketplace_getCategoriesObject

public T marketplace_getCategoriesObject()
                                  throws FacebookException
Get the categories available in marketplace.

Specified by:
marketplace_getCategoriesObject in interface IFacebookRestClient<T>
Returns:
a T listing the marketplace categories
Throws:
FacebookException
See Also:
Developers Wiki: marketplace.getCategories

getRawResponse

public java.lang.String getRawResponse()
Description copied from interface: IFacebookRestClient
Returns a string representation for the last API response recieved from Facebook, exactly as sent by the API server. Note that calling this method consumes the data held in the internal buffer, and thus it may only be called once per API call.

Specified by:
getRawResponse in interface IFacebookRestClient<T>
Returns:
a String representation of the last API response sent by Facebook

getResponsePOJO

public java.lang.Object getResponsePOJO()
Description copied from interface: IFacebookRestClient
Returns a JAXB object of the type that corresponds to the last API call made on the client. Each Facebook Platform API call that returns a Document object has a JAXB response object associated with it. The naming convention is generally intuitive. For example, if you invoke the 'user_getInfo' API call, the associated JAXB response object is 'UsersGetInfoResponse'.

An example of how to use this method:

FacebookRestClient client = new FacebookRestClient("apiKey", "secretKey", "sessionId");
client.friends_get();
FriendsGetResponse response = (FriendsGetResponse)client.getResponsePOJO();
List friends = response.getUid();

This is particularly useful in the case of API calls that return a Document object, as working with the JAXB response object is generally much simple than trying to walk/parse the DOM by hand.

This method can be safely called multiple times, though note that it will only return the response-object corresponding to the most recent Facebook Platform API call made.

Note that you must cast the return value of this method to the correct type in order to do anything useful with it.

Specified by:
getResponsePOJO in interface IFacebookRestClient<T>
Returns:
a JAXB POJO ("Plain Old Java Object") of the type that corresponds to the last API call made on the client. Note that you must cast this object to its proper type before you will be able to do anything useful with it.

feed_PublishTemplatizedAction

public boolean feed_PublishTemplatizedAction(TemplatizedAction action)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a templatized action for the current user. The action will appear in their minifeed, and may appear in their friends' newsfeeds depending upon a number of different factors. When a template match exists between multiple distinct users (like "Bob recommends Bizou" and "Sally recommends Bizou"), the feed entries may be combined in the newfeed (to something like "Bob and sally recommend Bizou"). This happens automatically, and *only* if the template match between the two feed entries is identical.

Feed entries are not aggregated for a single user (so "Bob recommends Bizou" and "Bob recommends Le Charm" *will not* become "Bob recommends Bizou and Le Charm").

If the user's action involves one or more of their friends, list them in the 'targetIds' parameter. For example, if you have "Bob says hi to Sally and Susie", and Sally's UID is 1, and Susie's UID is 2, then pass a 'targetIds' paramters of "1,2". If you pass this parameter, you can use the "{target}" token in your templates. Probably it also makes it more likely that Sally and Susie will see the feed entry in their newsfeed, relative to any other friends Bob might have. It may be a good idea to always send a list of all the user's friends, and avoid using the "{target}" token, to maximize distribution of the story through the newsfeed.

The only strictly required parameter is 'titleTemplate', which must contain the "{actor}" token somewhere inside of it. All other parameters, options, and tokens are optional, and my be set to null if being omitted.

Not that stories will only be aggregated if *all* templates match and *all* template parameters match, so if two entries have the same templateTitle and titleData, but a different bodyTemplate, they will not aggregate. Probably it's better to use bodyGeneral instead of bodyTemplate, for the extra flexibility it provides.


Note that this method is replacing 'feed_publishActionOfUser', which has been deprecated by Facebook. For specific details, visit http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction

Specified by:
feed_PublishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
action - a TemplatizedAction instance that represents the feed data to publish
Returns:
a Document representing the XML response returned from the Facebook API server.
Throws:
FacebookException - if any number of bad things happen

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.String titleTemplate,
                                             java.lang.String titleData,
                                             java.lang.String bodyTemplate,
                                             java.lang.String bodyData,
                                             java.lang.String bodyGeneral,
                                             java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> pictures,
                                             java.lang.String targetIds)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a templatized action for the current user. The action will appear in their minifeed, and may appear in their friends' newsfeeds depending upon a number of different factors. When a template match exists between multiple distinct users (like "Bob recommends Bizou" and "Sally recommends Bizou"), the feed entries may be combined in the newfeed (to something like "Bob and sally recommend Bizou"). This happens automatically, and *only* if the template match between the two feed entries is identical.

Feed entries are not aggregated for a single user (so "Bob recommends Bizou" and "Bob recommends Le Charm" *will not* become "Bob recommends Bizou and Le Charm").

If the user's action involves one or more of their friends, list them in the 'targetIds' parameter. For example, if you have "Bob says hi to Sally and Susie", and Sally's UID is 1, and Susie's UID is 2, then pass a 'targetIds' paramters of "1,2". If you pass this parameter, you can use the "{target}" token in your templates. Probably it also makes it more likely that Sally and Susie will see the feed entry in their newsfeed, relative to any other friends Bob might have. It may be a good idea to always send a list of all the user's friends, and avoid using the "{target}" token, to maximize distribution of the story through the newsfeed.

The only strictly required parameter is 'titleTemplate', which must contain the "{actor}" token somewhere inside of it. All other parameters, options, and tokens are optional, and my be set to null if being omitted.

Not that stories will only be aggregated if *all* templates match and *all* template parameters match, so if two entries have the same templateTitle and titleData, but a different bodyTemplate, they will not aggregate. Probably it's better to use bodyGeneral instead of bodyTemplate, for the extra flexibility it provides.


Note that this method is replacing 'feed_publishActionOfUser', which has been deprecated by Facebook. For specific details, visit http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
titleTemplate - the template for the title of the feed entry, this must contain the "(actor}" token. Any other tokens are optional, i.e. "{actor} recommends {place}".
titleData - JSON-formatted values for any tokens used in titleTemplate, with the exception of "{actor}" and "{target}", which Facebook populates automatically, i.e. "{place: "Bizou"}".
bodyTemplate - the template for the body of the feed entry, works the same as 'titleTemplate', but is not required to contain the "{actor}" token.
bodyData - works the same as titleData
bodyGeneral - non-templatized content for the body, may contain markup, may not contain tokens.
pictures - a list of up to 4 images to display, with optional hyperlinks for each one.
targetIds - a comma-seperated list of the UID's of any friend(s) who are involved in this feed action (if there are any), this specifies the value of the "{target}" token. If you use this token in any of your templates, you must specify a value for this parameter.
Returns:
a Document representing the XML response returned from the Facebook API server.
Throws:
FacebookException - if any number of bad things happen

templatizedFeedHandler

protected boolean templatizedFeedHandler(java.lang.String titleTemplate,
                                         java.lang.String titleData,
                                         java.lang.String bodyTemplate,
                                         java.lang.String bodyData,
                                         java.lang.String bodyGeneral,
                                         java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> pictures,
                                         java.lang.String targetIds,
                                         java.lang.Long pageId)
                                  throws FacebookException
Throws:
FacebookException

users_hasAppPermission

public boolean users_hasAppPermission(Permission perm)
                               throws FacebookException
Specified by:
users_hasAppPermission in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
IFacebookRestClient.users_hasAppPermission(Permission,Long), Users.hasAppPermission

users_hasAppPermission

public boolean users_hasAppPermission(Permission perm,
                                      java.lang.Long userId)
                               throws FacebookException
Description copied from interface: IFacebookRestClient
Checks whether the user has opted in to an extended application permission.

Specified by:
users_hasAppPermission in interface IFacebookRestClient<T>
Parameters:
perm - String identifier for the extended permission that is being checked for. Must be one of email, offline_access, status_update, photo_upload, create_listing, create_event, rsvp_event, sms.
userId - The user ID of the user whose permissions you are checking. If this parameter is not specified, then it defaults to the session user. Note: This parameter applies only to Web applications and is required by them only if the session_key is not specified. Facebook ignores this parameter if it is passed by a desktop application.
Returns:
true if the user has granted the application the specified permission false otherwise
Throws:
FacebookException
See Also:
Users.hasAppPermission

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                java.lang.String attributes)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing, or modify an existing one.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to modify, set to 0 (or null) to create a new listing.
showOnProfile - set to true to show the listing on the user's profile (Facebook appears to ignore this setting).
attributes - JSON-encoded attributes for this listing.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                MarketListing listing)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing, or modify an existing one.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to modify, set to 0 (or null) to create a new listing.
showOnProfile - set to true to show the listing on the user's profile, set to false to prevent the listing from being shown on the profile.
listing - the listing to publish.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_createListing

public java.lang.Long marketplace_createListing(boolean showOnProfile,
                                                MarketListing listing)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
showOnProfile - set to true to show the listing on the user's profile, set to false to prevent the listing from being shown on the profile.
listing - the listing to publish.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId,
                                         MarketListingStatus status)
                                  throws FacebookException
Description copied from interface: IFacebookRestClient
Remove a listing from the marketplace by id.

Specified by:
marketplace_removeListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to remove.
status - the status to apply when removing the listing. Should be one of MarketListingStatus.SUCCESS or MarketListingStatus.NOT_SUCCESS.
Returns:
true if the listing was successfully removed false otherwise
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_editListing

public java.lang.Long marketplace_editListing(java.lang.Long listingId,
                                              java.lang.Boolean showOnProfile,
                                              MarketListing attrs)
                                       throws FacebookException
Description copied from interface: IFacebookRestClient
Modify a marketplace listing

Specified by:
marketplace_editListing in interface IFacebookRestClient<T>
Parameters:
listingId - identifies the listing to be modified
showOnProfile - whether the listing can be shown on the user's profile
attrs - the properties of the listing
Returns:
the id of the edited listing
Throws:
FacebookException
See Also:
MarketplaceListing, Developers Wiki: marketplace.createListing

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Set the user's profile status message. This requires that the user has granted the application the 'status_update' permission, otherwise the call will return an error. You can use 'users_hasAppPermission' to check to see if the user has granted your app the abbility to update their status.

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Parameters:
newStatus - the new status message to set.
clear - whether or not to clear the old status message.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException - if an error happens when executing the API call.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

pages_getInfo

public T pages_getInfo(java.util.Collection<java.lang.Long> pageIds,
                       java.util.EnumSet<PageProfileField> fields)
                throws FacebookException
Retrieves the requested profile fields for the Facebook Pages with the given pageIds. Can be called for pages that have added the application without establishing a session.

Specified by:
pages_getInfo in interface IFacebookRestClient<T>
Parameters:
pageIds - the page IDs
fields - a set of page profile fields
Returns:
a T consisting of a list of pages, with each page element containing the requested fields.
Throws:
FacebookException
See Also:
Developers Wiki: Pages.getInfo

pages_getInfo

public T pages_getInfo(java.util.Collection<java.lang.Long> pageIds,
                       java.util.Set<java.lang.CharSequence> fields)
                throws FacebookException
Retrieves the requested profile fields for the Facebook Pages with the given pageIds. Can be called for pages that have added the application without establishing a session.

Specified by:
pages_getInfo in interface IFacebookRestClient<T>
Parameters:
pageIds - the page IDs
fields - a set of page profile fields
Returns:
a T consisting of a list of pages, with each page element containing the requested fields.
Throws:
FacebookException
See Also:
Developers Wiki: Pages.getInfo

pages_getInfo

public T pages_getInfo(java.lang.Long userId,
                       java.util.EnumSet<PageProfileField> fields)
                throws FacebookException
Retrieves the requested profile fields for the Facebook Pages of the user with the given userId.

Specified by:
pages_getInfo in interface IFacebookRestClient<T>
Parameters:
userId - the ID of a user about whose pages to fetch info (defaulted to the logged-in user)
fields - a set of PageProfileFields
Returns:
a T consisting of a list of pages, with each page element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Pages.getInfo

pages_getInfo

public T pages_getInfo(java.lang.Long userId,
                       java.util.Set<java.lang.CharSequence> fields)
                throws FacebookException
Retrieves the requested profile fields for the Facebook Pages of the user with the given userId.

Specified by:
pages_getInfo in interface IFacebookRestClient<T>
Parameters:
userId - the ID of a user about whose pages to fetch info (defaulted to the logged-in user)
fields - a set of page profile fields
Returns:
a T consisting of a list of pages, with each page element containing the requested fields.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Pages.getInfo

pages_isAppAdded

public boolean pages_isAppAdded(java.lang.Long pageId)
                         throws FacebookException
Checks whether a page has added the application

Specified by:
pages_isAppAdded in interface IFacebookRestClient<T>
Parameters:
pageId - the ID of the page
Returns:
true if the page has added the application
Throws:
FacebookException
See Also:
Developers Wiki: Pages.isAppAdded

pages_isFan

public boolean pages_isFan(java.lang.Long pageId,
                           java.lang.Long userId)
                    throws FacebookException
Checks whether a user is a fan of the page with the given pageId.

Specified by:
pages_isFan in interface IFacebookRestClient<T>
Parameters:
pageId - the ID of the page
userId - the ID of the user (defaults to the logged-in user if null)
Returns:
true if the user is a fan of the page
Throws:
FacebookException
See Also:
Developers Wiki: Pages.isFan

pages_isFan

public boolean pages_isFan(java.lang.Long pageId)
                    throws FacebookException
Checks whether the logged-in user is a fan of the page with the given pageId.

Specified by:
pages_isFan in interface IFacebookRestClient<T>
Parameters:
pageId - the ID of the page
Returns:
true if the logged-in user is a fan of the page
Throws:
FacebookException
See Also:
Developers Wiki: Pages.isFan

pages_isAdmin

public boolean pages_isAdmin(java.lang.Long pageId)
                      throws FacebookException
Checks whether the logged-in user for this session is an admin of the page with the given pageId.

Specified by:
pages_isAdmin in interface IFacebookRestClient<T>
Parameters:
pageId - the ID of the page
Returns:
true if the logged-in user is an admin
Throws:
FacebookException
See Also:
Developers Wiki: Pages.isAdmin

fbml_setRefHandle

public boolean fbml_setRefHandle(java.lang.String handle,
                                 java.lang.String fbmlMarkup)
                          throws FacebookException
Associates a "handle" with FBML markup so that the handle can be used within the fb:ref 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.

Specified by:
fbml_setRefHandle in interface IFacebookRestClient<T>
Parameters:
handle - - a string, unique within the application, that
fbmlMarkup - - refer to the FBML documentation for a description of the markup and its role in various contexts
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException - if an error happens when executing the API call.
See Also:
Developers Wiki: Fbml.setRefHandle

notifications_send

public void notifications_send(java.util.Collection<java.lang.Long> recipientIds,
                               java.lang.CharSequence notification)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Send a notification message to the specified users.

Specified by:
notifications_send in interface IFacebookRestClient<T>
Parameters:
recipientIds - the user ids to which the message is to be sent.
notification - the FBML to display on the notifications page.
Throws:
FacebookException

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear,
                               boolean statusIncludesVerb)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Set the user's profile status message. This requires that the user has granted the application the 'status_update' permission, otherwise the call will return an error. You can use 'users_hasAppPermission' to check to see if the user has granted your app the abbility to update their status

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Parameters:
newStatus - the new status message to set.
clear - whether or not to clear the old status message.
statusIncludesVerb - set to true if you do not want the Facebook Platform to automatically prepend "is " to your status message set to false if you want the "is " prepended (default behavior)
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException - if an error happens when executing the API call.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

notifications_send

public void notifications_send(java.lang.CharSequence notification)
                        throws FacebookException
Send a notification message to the logged-in user.

Specified by:
notifications_send in interface IFacebookRestClient<T>
Parameters:
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
Throws:
FacebookException
See Also:
Developers Wiki: notifications.send

data_getCookies

public T data_getCookies()
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Get all cookies for the currently logged-in user.

Specified by:
data_getCookies in interface IFacebookRestClient<T>
Returns:
all cookies for the current user.
Throws:
FacebookException

data_getCookies

public T data_getCookies(java.lang.Long userId)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Get all cookies for the specified user.

Specified by:
data_getCookies in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to get the cookies for.
Returns:
all cookies for the specified user.
Throws:
FacebookException

data_getCookies

public T data_getCookies(java.lang.String name)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Get a specific cookie for the currently logged-in user.

Specified by:
data_getCookies in interface IFacebookRestClient<T>
Parameters:
name - the name of the cookie to retrieve.
Returns:
the specified cookie for the current user.
Throws:
FacebookException

data_getCookies

public T data_getCookies(java.lang.Long userId,
                         java.lang.CharSequence name)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Get a specific cookie for the specified user.

Specified by:
data_getCookies in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to get the cookies for.
name - the name of the cookie to retrieve.
Returns:
the specified cookie for the specified user.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the current user. It will use the default expiry (never), and the default path ("/").

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
name - the name of the cookie to set
value - the value of the cookie
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.String path)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the current user, under the specified path. It will use the default expiry (never).

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
name - the name of the cookie to set
value - the value of the cookie
path - the path relative to the application's callback URL, with which the cookie should be associated. (default is "/")
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the specified user. The cookie will use the default expiry (never) and the default path ("/").

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to set the cookie for.
name - the name of the cookie to set
value - the value of the cookie
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value,
                              java.lang.CharSequence path)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the specified user, with the specified path. The cookie will use the default expiry (never).

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to set the cookie for.
name - the name of the cookie to set
value - the value of the cookie
path - the path relative to the application's callback URL, with which the cookie should be associated. (default is "/")
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.Long expires)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the current user, with the specified expiration date. It will use the default path ("/").

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
name - the name of the cookie to set
value - the value of the cookie
expires - the timestamp at which the cookie expires
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.Long expires,
                              java.lang.String path)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the current user, with the specified expiration date and path.

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
name - the name of the cookie to set
value - the value of the cookie
expires - the timestamp at which the cookie expires
path - the path relative to the application's callback URL, with which the cookie should be associated. (default is "/")
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value,
                              java.lang.Long expires)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the specified user, with the specified expiration date. The cookie will use the default path ("/").

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to set the cookie for.
name - the name of the cookie to set
value - the value of the cookie
expires - the timestamp at which the cookie expires
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value,
                              java.lang.Long expires,
                              java.lang.CharSequence path)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Set a cookie for the specified user, with the specified expiration date and path.

Specified by:
data_setCookie in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to set the cookie for.
name - the name of the cookie to set
value - the value of the cookie
expires - the timestamp at which the cookie expires
path - the path relative to the application's callback URL, with which the cookie should be associated. (default is "/")
Returns:
true if the cookie is set successfully, false otherwise.
Throws:
FacebookException

data_getUserPreference

public java.lang.String data_getUserPreference(int prefId)
                                        throws FacebookException
Description copied from interface: IFacebookRestClient
Lookup a single preference value for the current user.

Specified by:
data_getUserPreference in interface IFacebookRestClient<T>
Parameters:
prefId - the id of the preference to lookup. This should be an integer value from 0-200.
Returns:
The value of that preference, or null if it is not yet set.
Throws:
FacebookException - if an error happens when executing the API call.

data_getUserPreferences

public T data_getUserPreferences()
                          throws FacebookException
Description copied from interface: IFacebookRestClient
Get a map containing all preference values set for the current user.

Specified by:
data_getUserPreferences in interface IFacebookRestClient<T>
Returns:
a map of preference values, keyed by preference id. The map will contain all preferences that have been set for the current user. If there are no preferences currently set, the map will be empty. The map returned will never be null.
Throws:
FacebookException - if an error happens when executing the API call.

data_setUserPreference

public void data_setUserPreference(int prefId,
                                   java.lang.String value)
                            throws FacebookException
Description copied from interface: IFacebookRestClient
Set a user-preference value. The value can be any string up to 127 characters in length, while the preference id can only be an integer between 0 and 200. Any preference set applies only to the current user of the application. To clear a user-preference, specify null as the value parameter. The values of "0" and "" will be stored as user-preferences with a literal value of "0" and "" respectively.

Specified by:
data_setUserPreference in interface IFacebookRestClient<T>
Parameters:
prefId - the id of the preference to set, an integer between 0 and 200.
value - the value to store, a String of up to 127 characters in length.
Throws:
FacebookException - if an error happens when executing the API call.

data_setUserPreferences

public void data_setUserPreferences(java.util.Map<java.lang.Integer,java.lang.String> values,
                                    boolean replace)
                             throws FacebookException
Description copied from interface: IFacebookRestClient
Set multiple user-preferences values. The values can be strings up to 127 characters in length, while the preference id can only be an integer between 0 and 200. Any preferences set apply only to the current user of the application. To clear a user-preference, specify null as its value in the map. The values of "0" and "" will be stored as user-preferences with a literal value of "0" and "" respectively.

Specified by:
data_setUserPreferences in interface IFacebookRestClient<T>
Parameters:
values - the values to store, specified in a map. The keys should be preference-id values from 0-200, and the values should be strings of up to 127 characters in length.
replace - set to true if you want to remove any pre-existing preferences before writing the new ones set to false if you want the new preferences to be merged with any pre-existing preferences
Throws:
FacebookException - if an error happens when executing the API call.

data_createObject

public long data_createObject(java.lang.String objectType,
                              java.util.Map<java.lang.String,java.lang.String> properties)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Create object in Data Store

Specified by:
data_createObject in interface IFacebookRestClient<T>
Parameters:
objectType - Specifies which type of new object to create.
properties - Optional - Name-value pairs of properties this new object has
Returns:
64-bit integer: Numeric identifier (fbid) of newly created object.
Throws:
FacebookException
See Also:
Developers Wiki: Data.createObject

data_updateObject

public void data_updateObject(long objectId,
                              java.util.Map<java.lang.String,java.lang.String> properties,
                              boolean replace)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Update properties of an existing object in Data Store

Specified by:
data_updateObject in interface IFacebookRestClient<T>
Parameters:
objectId - Numeric identifier (fbid) of the object to modify.
properties - Name-value pairs of new properties.
replace - True if replace all existing properties; false to merge into existing ones.
Throws:
FacebookException
See Also:
Developers Wiki: Data.updateObject

data_deleteObject

public void data_deleteObject(long objectId)
                       throws FacebookException
Description copied from interface: IFacebookRestClient
Delete object in Data Store

Specified by:
data_deleteObject in interface IFacebookRestClient<T>
Parameters:
objectId - Numeric identifier (fbid) of the object to delete.
Throws:
FacebookException
See Also:
IFacebookRestClient.data_deleteObjects(java.util.Collection), Developers Wiki: Data.deleteObject

data_deleteObjects

public void data_deleteObjects(java.util.Collection<java.lang.Long> objectIds)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Delete multiple objects in Data Store WARNING: This method seems to fail when it comes across the first object that it can't find. It may be more reliable to iterate through your list of objects to delete and call deleteObject individually (although, of course, less efficient).

Specified by:
data_deleteObjects in interface IFacebookRestClient<T>
Parameters:
objectIds - A list of 64-bit integers that are numeric identifiers (fbids) of objects to delete.
Throws:
FacebookException
See Also:
IFacebookRestClient.data_deleteObject(long), Developers Wiki: Data.deleteObjects

data_getObject

public T data_getObject(long objectId)
                 throws FacebookException
Specified by:
data_getObject in interface IFacebookRestClient<T>
Throws:
FacebookException

data_getObjects

public T data_getObjects(java.util.Collection<java.lang.Long> objectIds)
                  throws FacebookException
Specified by:
data_getObjects in interface IFacebookRestClient<T>
Throws:
FacebookException

data_getObjectProperty

public T data_getObjectProperty(long objectId,
                                java.lang.String propertyName)
                         throws FacebookException
Specified by:
data_getObjectProperty in interface IFacebookRestClient<T>
Throws:
FacebookException

data_setObjectProperty

public void data_setObjectProperty(long objectId,
                                   java.lang.String propertyName,
                                   java.lang.String value)
                            throws FacebookException
Specified by:
data_setObjectProperty in interface IFacebookRestClient<T>
Throws:
FacebookException

data_createObjectType

public void data_createObjectType(java.lang.String name)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
An object type is like a "table" in SQL terminology, or a "class" in object-oriented programming concepts. Each object type has a unique human-readable "name" that will be used to identify itself throughout the API. Each object type also has a list of properties that one has to define individually. Each property is like a "column" in an SQL table, or a "data member" in an object class.

Specified by:
data_createObjectType in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
Developers Wiki: Data.createObjectType

data_dropObjectType

public void data_dropObjectType(java.lang.String objectType)
                         throws FacebookException
Description copied from interface: IFacebookRestClient
Remove a previously defined object type. This will also delete ALL objects of this type. This deletion is NOT reversible.

Specified by:
data_dropObjectType in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
Developers Wiki: Data.dropObjectType

data_renameObjectType

public void data_renameObjectType(java.lang.String objectType,
                                  java.lang.String newName)
                           throws FacebookException
Specified by:
data_renameObjectType in interface IFacebookRestClient<T>
Throws:
FacebookException

data_defineObjectProperty

public void data_defineObjectProperty(java.lang.String objectType,
                                      java.lang.String propertyName,
                                      PropertyType propertyType)
                               throws FacebookException
Specified by:
data_defineObjectProperty in interface IFacebookRestClient<T>
Throws:
FacebookException

data_undefineObjectProperty

public void data_undefineObjectProperty(java.lang.String objectType,
                                        java.lang.String propertyName)
                                 throws FacebookException
Specified by:
data_undefineObjectProperty in interface IFacebookRestClient<T>
Throws:
FacebookException

data_renameObjectProperty

public void data_renameObjectProperty(java.lang.String objectType,
                                      java.lang.String propertyName,
                                      java.lang.String newPropertyName)
                               throws FacebookException
Specified by:
data_renameObjectProperty in interface IFacebookRestClient<T>
Throws:
FacebookException

data_getObjectTypes

public T data_getObjectTypes()
                      throws FacebookException
Specified by:
data_getObjectTypes in interface IFacebookRestClient<T>
Throws:
FacebookException

data_getObjectType

public T data_getObjectType(java.lang.String objectType)
                     throws FacebookException
Specified by:
data_getObjectType in interface IFacebookRestClient<T>
Throws:
FacebookException

data_defineAssociation

public void data_defineAssociation(java.lang.String associationName,
                                   AssociationType associationType,
                                   AssociationInfo associationInfo1,
                                   AssociationInfo associationInfo2,
                                   java.lang.String inverseName)
                            throws FacebookException
Specified by:
data_defineAssociation in interface IFacebookRestClient<T>
Parameters:
associationName - Name of forward association to create. This name needs to be unique among all object types and associations defined for this application. This name also needs to be a valid identifier, which is no longer than 32 characters, starting with a letter (a-z) and consisting of only small letters (a-z), numbers (0-9) and/or underscores.
inverseName - Optional - name of backward association, if it is two-way asymmetric. This name needs to be unique among all object types and associations defined for this application. This name also needs to be a valid identifier, which is no longer than 32 characters, starting with a letter (a-z) and consisting of only small letters (a-z), numbers (0-9) and/or underscores.
Throws:
FacebookException
See Also:
Developers Wiki: Data.defineAssociation

data_undefineAssociation

public void data_undefineAssociation(java.lang.String name)
                              throws FacebookException
Description copied from interface: IFacebookRestClient
Remove a previously defined association. This will also delete this type of associations established between objects. This deletion is not reversible.

Specified by:
data_undefineAssociation in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
Developers Wiki: Data.undefineAssociation

data_renameAssociation

public void data_renameAssociation(java.lang.String name,
                                   java.lang.String newName,
                                   java.lang.String newAlias1,
                                   java.lang.String newAlias2)
                            throws FacebookException
Description copied from interface: IFacebookRestClient
Rename a previously defined association. Note that, any renaming here only affects one direction. To change names and aliases for another direction, rename with the name of that direction of association.

Specified by:
data_renameAssociation in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
Developers Wiki: Data.renameAssociation

data_getAssociationDefinition

public T data_getAssociationDefinition(java.lang.String name)
                                throws FacebookException
Specified by:
data_getAssociationDefinition in interface IFacebookRestClient<T>
Throws:
FacebookException

data_getAssociationDefinitions

public T data_getAssociationDefinitions()
                                 throws FacebookException
Specified by:
data_getAssociationDefinitions in interface IFacebookRestClient<T>
Throws:
FacebookException

data_setAssociation

public void data_setAssociation(java.lang.String associationName,
                                long object1Id,
                                long object2Id,
                                java.lang.String data,
                                java.util.Date associationTime)
                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create an association between two objects

Specified by:
data_setAssociation in interface IFacebookRestClient<T>
Parameters:
associationName - Name of the association to set.
object1Id - Object identifier 1.
object2Id - Object identifier 2.
data - Optional (can be null) - An arbitrary data (max. 255 characters) to store with this association.
associationTime - Optional (can be null) - Default to association creation time. A timestamp to store with this association. This timestamp is represented as number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). )
Throws:
FacebookException
See Also:
Developers Wiki: Data.setAssociation

data_removeAssociation

public void data_removeAssociation(java.lang.String associationName,
                                   long object1Id,
                                   long object2Id)
                            throws FacebookException
Description copied from interface: IFacebookRestClient
Removes an association between two object identifiers. Note that, the order of these two identifiers matters, unless this is a symmetric two-way association.

Specified by:
data_removeAssociation in interface IFacebookRestClient<T>
Parameters:
associationName - Name of the association.
object1Id - Object identifier 1.
object2Id - Object identifier 2.
Throws:
FacebookException
See Also:
Developers Wiki: Data.removeAssociation

data_removeAssociatedObjects

public void data_removeAssociatedObjects(java.lang.String associationName,
                                         long objectId)
                                  throws FacebookException
Description copied from interface: IFacebookRestClient
The name of this function may be misleading, but it actually removes associations between any other objects and a specified object. Those other associated objects will NOT be removed or deleted. Only the associations will be broken and deleted.

Specified by:
data_removeAssociatedObjects in interface IFacebookRestClient<T>
Parameters:
associationName - Name of the association.
objectId - Object identifier.
Throws:
FacebookException
See Also:
Developers Wiki: Data.removeAssociatedObjects

data_getAssociatedObjectCount

public long data_getAssociatedObjectCount(java.lang.String associationName,
                                          long objectId)
                                   throws FacebookException
Description copied from interface: IFacebookRestClient
Returns count of object ids that are associated with specified object. This function takes constant time to return the count, regardless how many objects are associated.

Specified by:
data_getAssociatedObjectCount in interface IFacebookRestClient<T>
Parameters:
associationName - Name of the association.
objectId - Object identifier.
Returns:
int64 object count
Throws:
FacebookException
See Also:
Developers Wiki: Data.getAssociatedObjectCount

admin_setAppProperties

public boolean admin_setAppProperties(java.util.Map<ApplicationProperty,java.lang.String> properties)
                               throws FacebookException
Description copied from interface: IFacebookRestClient
Set application properties. The properties are used by Facebook to describe the configuration of your application. This method cannot be called by desktop apps.

Specified by:
admin_setAppProperties in interface IFacebookRestClient<T>
Parameters:
properties - a Map containing the properties to set.
Returns:
true if the properties are set successfully false otherwise
Throws:
FacebookException

admin_getAppProperties

@Deprecated
public org.json.JSONObject admin_getAppProperties(java.util.Collection<ApplicationProperty> properties)
                                           throws FacebookException
Deprecated. use admin_getAppPropertiesMap() instead

Description copied from interface: IFacebookRestClient
Retrieve application properties. The properties are used by Facebook to describe the configuration of your application. This method cannot be called by desktop apps.

Specified by:
admin_getAppProperties in interface IFacebookRestClient<T>
Parameters:
properties - a collection indicating the properties you are interested in retrieving.
Returns:
a JSONObject that maps ApplicationProperty names to their corresponding values.
Throws:
FacebookException

admin_getAppPropertiesMap

public java.util.Map<ApplicationProperty,java.lang.String> admin_getAppPropertiesMap(java.util.Collection<ApplicationProperty> properties)
                                                                              throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieve application properties. The properties are used by Facebook to describe the configuration of your application. This method cannot be called by desktop apps.

Specified by:
admin_getAppPropertiesMap in interface IFacebookRestClient<T>
Parameters:
properties - a collection indicating the properties you are interested in retrieving.
Returns:
a mapping of ApplicationProperty's to the corresponding values that are set for those properties. Properties are represented as strings, so properties that are of boolean type will have a value of "true" when true, and "false" when false. The properties returned will never be null, an unset property is represented by an empty string.
Throws:
FacebookException

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate,
                                             java.lang.Long pageActorId)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if pageActorId 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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
pageActorId - (optional) the ID of the page into whose mini-feed the story is being published
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate,
                                             java.util.Map<java.lang.String,java.lang.CharSequence> titleData,
                                             java.lang.CharSequence bodyTemplate,
                                             java.util.Map<java.lang.String,java.lang.CharSequence> bodyData,
                                             java.lang.CharSequence bodyGeneral,
                                             java.util.Collection<java.lang.Long> targetIds,
                                             java.util.Collection<? extends IPair<? extends java.lang.Object,java.net.URL>> images,
                                             java.lang.Long pageActorId)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a Mini-Feed story describing an action taken by the logged-in user (or, if pageActorId 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.

Specified by:
feed_publishTemplatizedAction in interface IFacebookRestClient<T>
Parameters:
titleTemplate - markup (up to 60 chars, tags excluded) for the feed story's title section. Must include the token {actor}.
titleData - (optional) contains token-substitution mappings for tokens that appear in titleTemplate. Should not contain mappings for the {actor} or {target} tokens. Required if tokens other than {actor} or {target} appear in the titleTemplate.
bodyTemplate - (optional) markup to be displayed in the feed story's body section. can include tokens, of the form {token}, to be substituted using bodyData.
bodyData - (optional) contains token-substitution mappings for tokens that appear in bodyTemplate. Required if the bodyTemplate contains tokens other than {actor} and {target}.
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.
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 {target}.
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.
pageActorId - (optional) the ID of the page into whose mini-feed the story is being published
Returns:
whether the action story was successfully published; false in case of a permission error
Throws:
FacebookException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

friends_getList

public T friends_getList(java.lang.Long friendListId)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the friends of the currently logged in user that are members of the friends list with ID friendListId.

Specified by:
friends_getList in interface IFacebookRestClient<T>
Parameters:
friendListId - the friend list for which friends should be fetched. if null, all friends will be retrieved.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.get

friends_getLists

public T friends_getLists()
                   throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the friend lists of the currently logged in user.

Specified by:
friends_getLists in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.getLists

admin_setAppProperties

public boolean admin_setAppProperties(ApplicationPropertySet properties)
                               throws FacebookException
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.

Specified by:
admin_setAppProperties in interface IFacebookRestClient<T>
Parameters:
properties - an ApplicationPropertySet that is translated into a single JSON String.
Returns:
a boolean indicating whether the properties were successfully set
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.setAppProperties

admin_getAppPropertiesAsSet

public ApplicationPropertySet admin_getAppPropertiesAsSet(java.util.EnumSet<ApplicationProperty> properties)
                                                   throws FacebookException
Gets property values previously set for an application on either the Facebook Developer application or the with the admin.setAppProperties call. A session is not required to use this method.

Specified by:
admin_getAppPropertiesAsSet in interface IFacebookRestClient<T>
Parameters:
properties - an enumeration of the properties to get
Returns:
an ApplicationPropertySet
Throws:
FacebookException
See Also:
ApplicationProperty, Developers Wiki: Admin.getAppProperties

beginBatch

public void beginBatch()
Description copied from interface: IFacebookRestClient
Starts a batch of queries. Any API calls made after invoking 'beginBatch' will be deferred until the next time you call 'executeBatch', at which time they will be processed as a batch query. All API calls made in the interim will return null as their result.

Specified by:
beginBatch in interface IFacebookRestClient<T>

encodeMethods

protected java.lang.String encodeMethods(java.util.List<com.google.code.facebookapi.BatchQuery> queries)
                                  throws FacebookException
Throws:
FacebookException

batch_run

public T batch_run(java.lang.String methods,
                   boolean serial)
            throws FacebookException
Description copied from interface: IFacebookRestClient
Executes a batch of queries. It is your responsibility to encode the method feed correctly. It is not recommended that you call this method directly. Instead use 'beginBatch' and 'executeBatch', which will take care of the hard parts for you.

Specified by:
batch_run in interface IFacebookRestClient<T>
Parameters:
methods - A JSON encoded array of strings. Each element in the array should contain the full parameters for a method, including method name, sig, etc. Currently, there is a maximum limit of 15 elements in the array.
serial - An optional parameter to indicate whether the methods in the method_feed must be executed in order. The default value is false.
Returns:
a result containing the response to each individual query in the batch.
Throws:
FacebookException

application_getPublicInfo

public T application_getPublicInfo(java.lang.Long applicationId,
                                   java.lang.String applicationKey,
                                   java.lang.String applicationCanvas)
                            throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the public information about the specified application. Only one of the 3 parameters needs to be specified.

Specified by:
application_getPublicInfo in interface IFacebookRestClient<T>
Parameters:
applicationId - the id of the application to get the info for.
applicationKey - the public API key of the application to get the info for.
applicationCanvas - the canvas-page name of the application to get the info for.
Returns:
the public information for the specified application
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoById

public T application_getPublicInfoById(java.lang.Long applicationId)
                                throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the public information about the specified application, by application id.

Specified by:
application_getPublicInfoById in interface IFacebookRestClient<T>
Parameters:
applicationId - the id of the application to get the info for.
Returns:
the public information for the specified application
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoByApiKey

public T application_getPublicInfoByApiKey(java.lang.String applicationKey)
                                    throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the public information about the specified application, by API key.

Specified by:
application_getPublicInfoByApiKey in interface IFacebookRestClient<T>
Parameters:
applicationKey - the public API key of the application to get the info for.
Returns:
the public information for the specified application
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoByCanvasName

public T application_getPublicInfoByCanvasName(java.lang.String applicationCanvas)
                                        throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the public information about the specified application, by canvas-page name.

Specified by:
application_getPublicInfoByCanvasName in interface IFacebookRestClient<T>
Parameters:
applicationCanvas - the canvas-page name of the application to get the info for.
Returns:
the public information for the specified application
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

admin_getAllocation

public int admin_getAllocation(java.lang.String allocationType)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Get your application's current allocation of the specified type of request (i.e. the number of requests that it is currently allowed to send per user per day).

Specified by:
admin_getAllocation in interface IFacebookRestClient<T>
Parameters:
allocationType - the type of request to check the allocation for. Currently: "notifications_per_day" and "requests_per_day", "emails_per_day", "email_disable_message_location"
Returns:
the number of the specified type of requests that the application is permitted to send per user per day.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getAllocation

public int admin_getAllocation(AllocationType allocationType)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Get your application's current allocation of the specified type of request (i.e. the number of requests that it is currently allowed to send per user per day).

Specified by:
admin_getAllocation in interface IFacebookRestClient<T>
Parameters:
allocationType - the type of request to check the allocation for. Currently: "notifications_per_day" and "requests_per_day", "emails_per_day", "email_disable_message_location"
Returns:
the number of the specified type of requests that the application is permitted to send per user per day.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getNotificationAllocation

@Deprecated
public int admin_getNotificationAllocation()
                                    throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Get your application's current allocation for notifications (i.e. the total number of notifications that it is allowed to send per user, per day).

Specified by:
admin_getNotificationAllocation in interface IFacebookRestClient<T>
Returns:
the number of notifications that the application is permitted to send per user per day.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getRequestAllocation

@Deprecated
public int admin_getRequestAllocation()
                               throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Get your application's current allocation for invites/requests (i.e. the total number of invites/requests that it is allowed to send per user, per day).

Specified by:
admin_getRequestAllocation in interface IFacebookRestClient<T>
Returns:
the number of invites/requests that the application is permitted to send per user per day.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getDailyMetrics

@Deprecated
public T admin_getDailyMetrics(java.util.Set<Metric> metrics,
                                          java.util.Date start,
                                          java.util.Date end)
                        throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Retrieve the daily metrics for the current application.

Specified by:
admin_getDailyMetrics in interface IFacebookRestClient<T>
Parameters:
metrics - a set specifying the specific metrics to retrieve
start - the starting date to retrieve data for (range must not exceed 30 days)
end - the ending to to retrive data for (range must not exceed 30 days)
Returns:
daily metrics for your app, for each day in the specified range
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getDailyMetrics

admin_getDailyMetrics

@Deprecated
public T admin_getDailyMetrics(java.util.Set<Metric> metrics,
                                          long start,
                                          long end)
                        throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Retrieve the daily metrics for the current application.

Specified by:
admin_getDailyMetrics in interface IFacebookRestClient<T>
Parameters:
metrics - a set specifying the specific metrics to retrieve
start - the starting date to retrieve data for (range must not exceed 30 days), the accepted unit of time is milliseconds, NOT seconds
end - the ending to to retrive data for (range must not exceed 30 days), the accepted unit of time is milliseconds, NOT seconds
Returns:
daily metrics for your app, for each day in the specified range
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getDailyMetrics

permissions_checkGrantedApiAccess

public T permissions_checkGrantedApiAccess(java.lang.String apiKey)
                                    throws FacebookException
Description copied from interface: IFacebookRestClient
Check to see what permissions have been granted to specified external application by the current application. For example: Application A grants permission on users.getInfo to Application B, Applicatio A can then call permissions_checkGrantedApiAccess(B) and will recieve "users.getInfo" as a result.

Specified by:
permissions_checkGrantedApiAccess in interface IFacebookRestClient<T>
Parameters:
apiKey - the API key of the application to check permissions for.
Returns:
a list of all API methods that the specified application has permission to use.
Throws:
FacebookException

permissions_checkAvailableApiAccess

public T permissions_checkAvailableApiAccess(java.lang.String apiKey)
                                      throws FacebookException
Description copied from interface: IFacebookRestClient
Check to see what permissions have been granted to current app by the specified external application. For example: Application A grants permission on users.getInfo to Application B, Applicatio B can then call permissions_checkAvailableApiAccess(A) and will recieve "users.getInfo" as a result.

Specified by:
permissions_checkAvailableApiAccess in interface IFacebookRestClient<T>
Parameters:
apiKey - the API key of the application to check for permissions from.
Returns:
a list of all API methods that the specified application has permission to use.
Throws:
FacebookException

permissions_grantApiAccess

public boolean permissions_grantApiAccess(java.lang.String apiKey,
                                          java.util.Set<FacebookMethod> methods)
                                   throws FacebookException
Description copied from interface: IFacebookRestClient
Grant permission to an external app to make API calls on behalf of the current application.

Specified by:
permissions_grantApiAccess in interface IFacebookRestClient<T>
Parameters:
apiKey - the API-key of the application to grant permission to.
methods - the API methods to allow the other application to call. If the set is empty or null, permission is granted for all API methods.
Returns:
true if the operation succeeds false otherwise
Throws:
FacebookException

permissions_grantFullApiAccess

public boolean permissions_grantFullApiAccess(java.lang.String apiKey)
                                       throws FacebookException
Description copied from interface: IFacebookRestClient
Grant permission to an external app to make API calls on behalf of the current application. Access is granted to the full set of allowed API methods.

Specified by:
permissions_grantFullApiAccess in interface IFacebookRestClient<T>
Parameters:
apiKey - the API-key of the application to grant permission to.
Returns:
true if the operation succeeds false otherwise
Throws:
FacebookException

permissions_revokeApiAccess

public boolean permissions_revokeApiAccess(java.lang.String apiKey)
                                    throws FacebookException
Description copied from interface: IFacebookRestClient
Revokes the specified application's permission to call API methods on behalf of the current app.

Specified by:
permissions_revokeApiAccess in interface IFacebookRestClient<T>
Parameters:
apiKey - the API key of the application to remove permissions for.
Returns:
true if the operation succeeds false otherwise
Throws:
FacebookException

auth_promoteSession

public java.lang.String auth_promoteSession()
                                     throws FacebookException
Description copied from interface: IFacebookRestClient
Generate a key for the current session that can be used to authenticate client-side components.

Specified by:
auth_promoteSession in interface IFacebookRestClient<T>
Returns:
the key.
Throws:
FacebookException

auth_revokeAuthorization

public boolean auth_revokeAuthorization()
                                 throws FacebookException
Description copied from interface: IFacebookRestClient
If this method is called for the logged in user, then no further API calls can be made on that user's behalf until the user decides to authorize the application again.

Specified by:
auth_revokeAuthorization in interface IFacebookRestClient<T>
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException

auth_expireSession

public boolean auth_expireSession()
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Expires the curently active session.

Specified by:
auth_expireSession in interface IFacebookRestClient<T>
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                java.lang.String attributes,
                                                java.lang.Long userId)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing, or modify an existing one.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to modify, set to 0 (or null) to create a new listing.
showOnProfile - set to true to show the listing on the user's profile (Facebook appears to ignore this setting).
attributes - JSON-encoded attributes for this listing.
userId - the id of the user to create the listing for.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                MarketListing listing,
                                                java.lang.Long userId)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing, or modify an existing one.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to modify, set to 0 (or null) to create a new listing.
showOnProfile - set to true to show the listing on the user's profile, set to false to prevent the listing from being shown on the profile.
listing - the listing to publish.
userId - the id of the user to create the listing for.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_createListing

public java.lang.Long marketplace_createListing(boolean showOnProfile,
                                                MarketListing listing,
                                                java.lang.Long userId)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Create a new marketplace listing.

Specified by:
marketplace_createListing in interface IFacebookRestClient<T>
Parameters:
showOnProfile - set to true to show the listing on the user's profile, set to false to prevent the listing from being shown on the profile.
listing - the listing to publish.
userId - the id of the user to create the listing for.
Returns:
the id of the listing created (or modified).
Throws:
FacebookException - if an error happens when executing the API call.

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId,
                                         java.lang.Long userId)
                                  throws FacebookException
Description copied from interface: IFacebookRestClient
Remove a marketplace listing. The create_listing extended permission is required.

Specified by:
marketplace_removeListing in interface IFacebookRestClient<T>
Parameters:
listingId - the listing to be removed
userId - the id of the user removing the listing
Returns:
boolean indicating whether the listing was removed
Throws:
FacebookException
See Also:
IFacebookRestClient.users_hasAppPermission(com.google.code.facebookapi.Permission), FacebookExtendedPerm.MARKETPLACE, Developers Wiki: marketplace.removeListing

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId,
                                         MarketListingStatus status,
                                         java.lang.Long userId)
                                  throws FacebookException
Description copied from interface: IFacebookRestClient
Remove a listing from the marketplace by id.

Specified by:
marketplace_removeListing in interface IFacebookRestClient<T>
Parameters:
listingId - the id of the listing to remove.
status - the status to apply when removing the listing. Should be one of MarketListingStatus.SUCCESS or MarketListingStatus.NOT_SUCCESS.
userId - the id of the user removing the listing.
Returns:
true if the listing was successfully removed false otherwise
Throws:
FacebookException - if an error happens when executing the API call.

users_isAppAdded

@Deprecated
public boolean users_isAppAdded(java.lang.Long userId)
                         throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Retrieves an indicator of whether the specified user has added the application associated with the _apiKey.

Specified by:
users_isAppAdded in interface IFacebookRestClient<T>
Parameters:
userId - the if of the user to check for.
Returns:
boolean indicating whether the user has added the app
Throws:
FacebookException
See Also:
Users.isAppAdded

users_setStatus

public boolean users_setStatus(java.lang.String status,
                               java.lang.Long userId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the spedified user's Facebook status. Requires the status_update extended permission.

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Returns:
whether the status was successfully set
Throws:
FacebookException
See Also:
IFacebookRestClient.users_hasAppPermission(com.google.code.facebookapi.Permission), FacebookExtendedPerm.STATUS_UPDATE, http://wiki.developers.facebook.com/index.php/Users.setStatus

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear,
                               java.lang.Long userId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Set the user's profile status message. This requires that the user has granted the application the 'status_update' permission, otherwise the call will return an error. You can use 'users_hasAppPermission' to check to see if the user has granted your app the abbility to update their status.

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Parameters:
newStatus - the new status message to set.
clear - whether or not to clear the old status message.
userId - the id of the user to set the status for.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException - if an error happens when executing the API call.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear,
                               boolean statusIncludesVerb,
                               java.lang.Long userId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Set the user's profile status message. This requires that the user has granted the application the 'status_update' permission, otherwise the call will return an error. You can use 'users_hasAppPermission' to check to see if the user has granted your app the abbility to update their status

Specified by:
users_setStatus in interface IFacebookRestClient<T>
Parameters:
newStatus - the new status message to set.
clear - whether or not to clear the old status message.
statusIncludesVerb - set to true if you do not want the Facebook Platform to automatically prepend "is " to your status message set to false if you want the "is " prepended (default behavior)
userId - the id of the user to set the status for.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException - if an error happens when executing the API call.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

feed_getRegisteredTemplateBundleByID

public T feed_getRegisteredTemplateBundleByID(java.lang.Long id)
                                       throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieve a template bundle by id.

Specified by:
feed_getRegisteredTemplateBundleByID in interface IFacebookRestClient<T>
Parameters:
id - the id to retrieve.
Returns:
the specified template bundle definition.
Throws:
FacebookException

feed_getRegisteredTemplateBundles

public T feed_getRegisteredTemplateBundles()
                                    throws FacebookException
Description copied from interface: IFacebookRestClient
Get a list of all registered template bundles for your application.

Specified by:
feed_getRegisteredTemplateBundles in interface IFacebookRestClient<T>
Returns:
a list describing all registered feed templates.
Throws:
FacebookException

feed_publishUserAction

public java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a user action to the feed. See: http://wiki.developers.facebook.com/index.php/Feed.publishUserAction

Specified by:
feed_publishUserAction in interface IFacebookRestClient<T>
Parameters:
bundleId - the template bundle-id to use to render the feed.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException

feed_publishUserAction

public java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId,
                                                java.util.Map<java.lang.String,java.lang.String> templateData,
                                                java.util.List<java.lang.Long> targetIds,
                                                java.lang.String bodyGeneral)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a user action to the feed. See: http://wiki.developers.facebook.com/index.php/Feed.publishUserAction

Specified by:
feed_publishUserAction in interface IFacebookRestClient<T>
Parameters:
bundleId - the template bundle-id to use to render the feed.
templateData - a map of name-value pairs to substitute into the template being rendered.
targetIds - the ids of individuals that are the target of this action.
bodyGeneral - additional markup to include in the feed story.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.lang.String template)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Registers a feed template. See: http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle

Specified by:
feed_registerTemplateBundle in interface IFacebookRestClient<T>
Parameters:
template - the template to store
Returns:
the id which Facebook assigns to your template
Throws:
FacebookException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Registers a feed template. See: http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle

Specified by:
feed_registerTemplateBundle in interface IFacebookRestClient<T>
Parameters:
templates - the templates to store
Returns:
the id which Facebook assigns to your template
Throws:
FacebookException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates,
                                                  java.util.Collection<BundleStoryTemplate> shortTemplates,
                                                  BundleStoryTemplate longTemplate)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Registers a feed template. See: http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle

Specified by:
feed_registerTemplateBundle in interface IFacebookRestClient<T>
longTemplate - the long template to store.
Returns:
the id which Facebook assigns to your template
Throws:
FacebookException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates,
                                                  java.util.Collection<BundleStoryTemplate> shortTemplates,
                                                  BundleStoryTemplate longTemplate,
                                                  java.util.List<BundleActionLink> actionLinks)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Registers a feed template. See: http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle

Specified by:
feed_registerTemplateBundle in interface IFacebookRestClient<T>
longTemplate - the long template to store.
actionLinks - the action links to store
Returns:
the id which Facebook assigns to your template
Throws:
FacebookException

feed_registerTemplateBundle

@Deprecated
public java.lang.Long feed_registerTemplateBundle(java.lang.String template,
                                                             java.lang.String shortTemplate,
                                                             java.lang.String longTemplate)
                                           throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
Registers a feed template. See: http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle

Specified by:
feed_registerTemplateBundle in interface IFacebookRestClient<T>
Parameters:
template - the template to store.
shortTemplate - the short template to store.
longTemplate - the long template to store.
Returns:
the id which Facebook assigns to your template
Throws:
FacebookException

profile_getFBML

public T profile_getFBML()
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the FBML for the current user's profile box.

Specified by:
profile_getFBML in interface IFacebookRestClient<T>
Returns:
a T containing FBML markup
Throws:
FacebookException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(java.lang.Long userId)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the FBML for the user's profile box.

Specified by:
profile_getFBML in interface IFacebookRestClient<T>
Parameters:
userId - The user whose profile FBML is to be fetched, or the page ID in case of a Page. If not specified, defaults to the session user.
Returns:
a T containing FBML markup
Throws:
FacebookException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(int type)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the FBML for the current user's profile boxes.

Specified by:
profile_getFBML in interface IFacebookRestClient<T>
Parameters:
type - The type of profile box to retrieve. Specify 1 for the original style (wide and narrow column boxes), 2 for profile_main box. (Default value is 1.)
Returns:
a T containing FBML markup
Throws:
FacebookException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(int type,
                         java.lang.Long userId)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Gets the FBML for the user's profile boxes.

Specified by:
profile_getFBML in interface IFacebookRestClient<T>
Parameters:
type - The type of profile box to retrieve. Specify 1 for the original style (wide and narrow column boxes), 2 for profile_main box. (Default value is 1.)
userId - The user whose profile FBML is to be fetched, or the page ID in case of a Page. If not specified, defaults to the session user.
Returns:
a T containing FBML markup
Throws:
FacebookException
See Also:
Profile.getFBML

profile_getInfo

public T profile_getInfo(java.lang.Long userId)
                  throws FacebookException
Description copied from interface: IFacebookRestClient
Get the specified user's application-info section.

Specified by:
profile_getInfo in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to get the info section for.
Returns:
the user's application-info section.
Throws:
FacebookException

profile_getInfoOptions

public T profile_getInfoOptions(java.lang.String field)
                         throws FacebookException
Description copied from interface: IFacebookRestClient
Get the options associated with the specified field for an application info section.

Specified by:
profile_getInfoOptions in interface IFacebookRestClient<T>
Parameters:
field - the field to get the options for.
Returns:
the options associated with the specified field for an application info section.
Throws:
FacebookException

profile_setInfo

public void profile_setInfo(java.lang.Long userId,
                            java.lang.String title,
                            boolean textOnly,
                            java.util.List<ProfileInfoField> fields)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Configures an application info section that the specified user can install on the Info tab of her profile. See: http://wiki.developers.facebook.com/index.php/Profile.setInfo

Specified by:
profile_setInfo in interface IFacebookRestClient<T>
Parameters:
userId - the user to set the info section for.
title - the title to use for the section.
textOnly - set to true if your info fields are text only. set to false for thumbnail mode.
fields - the fields to set.
Throws:
FacebookException

profile_setInfoOptions

public void profile_setInfoOptions(ProfileInfoField field)
                            throws FacebookException
Description copied from interface: IFacebookRestClient
Specifies the objects for a field for an application info section. These options populate the typeahead for a thumbnail. See: http://wiki.developers.facebook.com/index.php/Profile.setInfoOptions

Specified by:
profile_setInfoOptions in interface IFacebookRestClient<T>
Parameters:
field - the field to set.
Throws:
FacebookException

profile_setFBML

public boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup,
                               java.lang.CharSequence profileActionFbmlMarkup)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
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.

Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Parameters:
profileFbmlMarkup - the FBML for the profile box
profileActionFbmlMarkup - the FBML for the profile actions
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setFBML

public boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup,
                               java.lang.CharSequence profileActionFbmlMarkup,
                               java.lang.Long profileId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for the profile box and profile actions for the user or page profile with ID profileId. Refer to the FBML documentation for a description of the markup and its role in various contexts.

Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Parameters:
profileFbmlMarkup - the FBML for the profile box
profileActionFbmlMarkup - the FBML for the profile actions
profileId - a page or user ID (null for the logged-in user)
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setFBML

public boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup,
                               java.lang.CharSequence profileActionFbmlMarkup,
                               java.lang.CharSequence mobileFbmlMarkup)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for the profile box, profile actions, and mobile devices for the current user. Refer to the FBML documentation for a description of the markup and its role in various contexts.

Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Parameters:
profileFbmlMarkup - the FBML for the profile box
profileActionFbmlMarkup - the FBML for the profile actions
mobileFbmlMarkup - the FBML for mobile devices
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setFBML

public boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup,
                               java.lang.CharSequence profileActionFbmlMarkup,
                               java.lang.CharSequence mobileFbmlMarkup,
                               java.lang.Long profileId)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for the profile box, profile actions, and mobile devices for the user or page profile with ID profileId. Refer to the FBML documentation for a description of the markup and its role in various contexts.

Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Parameters:
profileFbmlMarkup - the FBML for the profile box
profileActionFbmlMarkup - the FBML for the profile actions
mobileFbmlMarkup - the FBML for mobile devices
profileId - a page or user ID (null for the logged-in user)
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setMobileFBML

public boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup)
                              throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for the logged-in user's profile on mobile devices.

Specified by:
profile_setMobileFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setMobileFBML

public boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup,
                                     java.lang.Long profileId)
                              throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for the user or page profile with ID profileId on mobile devices.

Specified by:
profile_setMobileFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
profileId - a page or user ID (null for the logged-in user)
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileActionFBML

public boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup)
                                     throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for profile actions for the logged-in user.

Specified by:
profile_setProfileActionFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileActionFBML

public boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup,
                                            java.lang.Long profileId)
                                     throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for profile actions for the user or page profile with ID profileId.

Specified by:
profile_setProfileActionFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
profileId - a page or user ID (null for the logged-in user)
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileFBML

public boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup)
                               throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for a profile box on the logged-in user's profile.

Specified by:
profile_setProfileFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFbml

profile_setProfileFBML

public boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup,
                                      java.lang.Long profileId)
                               throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for a profile box on the user or page profile with ID profileId.

Specified by:
profile_setProfileFBML in interface IFacebookRestClient<T>
Parameters:
fbmlMarkup - refer to the FBML documentation for a description of the markup and its role in various contexts
profileId - a page or user ID (null for the logged-in user)
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
Developers wiki: Profile.setFbml

profile_setFBML

public boolean profile_setFBML(java.lang.Long userId,
                               java.lang.String profileFbml,
                               java.lang.String actionFbml,
                               java.lang.String mobileFbml)
                        throws FacebookException
Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Throws:
FacebookException
See Also:
IFacebookRestClient.profile_setFBML(Long, String, String, String, String)

profile_setFBML

public boolean profile_setFBML(java.lang.Long userId,
                               java.lang.String profileFbml,
                               java.lang.String actionFbml,
                               java.lang.String mobileFbml,
                               java.lang.String profileMain)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sets the FBML for a user's profile, including the content for both the profile box and the profile actions.

Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Parameters:
userId - The user ID for the user whose profile you are updating, or the page ID in case of a Page. If this parameter is not specified, then it defaults to the session user. Note: This parameter applies only to Web applications and is required by them only if the session_key is not specified. Facebook returns an error if this parameter is passed by a desktop application.
profileFbml - The FBML intended for the application profile box that appears on the Boxes tab on the user's profile.
actionFbml - The FBML intended for the user's profile actions. A profile action is the link under the user's profile picture that allows a user to take an action with your application. Note: This attribute is being deprecated when the new profile design launches in July 2008, as there are no third party profile action links on the new profile.
mobileFbml - The FBML intended for mobile devices.
profileMain - The FBML intended for the narrow profile box on the Wall and Info tabs of the user's profile. Note: This attribute applies only to the new profile design that launched July 2008.
Returns:
a boolean indicating whether the FBML was successfully set
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Profile.setFBML

setServerUrl

public void setServerUrl(java.lang.String newUrl)
Description copied from interface: IFacebookRestClient
Override the default Facebook API server used for making requests. Can be used to tell the client to run against the

Specified by:
setServerUrl in interface IFacebookRestClient<T>
Parameters:
newUrl - the new URL to use, for example: "http://api.facebook.com/restserver.php"

getDefaultServerUrl

public java.net.URL getDefaultServerUrl()
Specified by:
getDefaultServerUrl in interface IFacebookRestClient<T>

setDefaultServerUrl

public void setDefaultServerUrl(java.net.URL newUrl)
Specified by:
setDefaultServerUrl in interface IFacebookRestClient<T>

liveMessage_send

public java.lang.Boolean liveMessage_send(java.lang.Long recipient,
                                          java.lang.String eventName,
                                          org.json.JSONObject message)
                                   throws FacebookException
Description copied from interface: IFacebookRestClient
Sends a message using the LiveMessage API. Note that for the message to be recieved by the recipent, you must set up a FBJS handler function. See http://wiki.developers.facebook.com/index.php/LiveMessage for details.

Specified by:
liveMessage_send in interface IFacebookRestClient<T>
Parameters:
recipient - the id of the user to send the message to.
eventName - the name associated with the FBJS handler you want to recieve your message.
message - the JSON-object to send, the object will be passed to the FBJS handler that you have mapped to 'eventName'. See http://wiki.developers.facebook.com/index.php/LiveMessage for details.
Returns:
true if the message is sent, false otherwise
Throws:
FacebookException

admin_getMetrics

public T admin_getMetrics(java.util.Set<Metric> metrics,
                          java.util.Date start,
                          java.util.Date end,
                          long period)
                   throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieve metrics for the current application.

Specified by:
admin_getMetrics in interface IFacebookRestClient<T>
Parameters:
metrics - a set specifying the specific metrics to retrieve
start - the starting date to retrieve data for (range must not exceed 30 days)
end - the ending to to retrive data for (range must not exceed 30 days)
period - a number specifying the desired period to group the metrics by, in seconds, Facebook currently only supports Metric.PERIOD_DAY, Metric.PERIOD_WEEK, and Metric.PERIOD_MONTH
Returns:
daily metrics for your app, for each day in the specified range
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getMetrics

admin_getMetrics

public T admin_getMetrics(java.util.Set<Metric> metrics,
                          long start,
                          long end,
                          long period)
                   throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieve the daily metrics for the current application.

Specified by:
admin_getMetrics in interface IFacebookRestClient<T>
Parameters:
metrics - a set specifying the specific metrics to retrieve
start - the starting date to retrieve data for (range must not exceed 30 days), the accepted unit of time is milliseconds, NOT seconds
end - the ending to to retrive data for (range must not exceed 30 days), the accepted unit of time is milliseconds, NOT seconds
period - a number specifying the desired period to group the metrics by, in seconds, Facebook currently only supports Metric.PERIOD_DAY, Metric.PERIOD_WEEK, and Metric.PERIOD_MONTH
Returns:
daily metrics for your app, for each day in the specified range
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getMetrics

feed_deactivateTemplateBundleByID

public boolean feed_deactivateTemplateBundleByID(java.lang.Long bundleId)
                                          throws FacebookException
Description copied from interface: IFacebookRestClient
Deactivates the specified template bundle.

Specified by:
feed_deactivateTemplateBundleByID in interface IFacebookRestClient<T>
Parameters:
bundleId - the id of the bundle to deactivate.
Returns:
true if the call succeeds, false otherwise.
Throws:
FacebookException

notifications_send

public void notifications_send(java.util.Collection<java.lang.Long> recipientIds,
                               java.lang.String notification,
                               boolean isAppToUser)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
Sends a notification.

Specified by:
notifications_send in interface IFacebookRestClient<T>
Parameters:
recipientIds - the ids of the users to send the notification to.
notification - the notification to send.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Notifications.send

feed_publishUserAction

public java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId,
                                                java.util.Map<java.lang.String,java.lang.String> templateData,
                                                java.util.List<IFeedImage> images,
                                                java.util.List<java.lang.Long> targetIds,
                                                java.lang.String bodyGeneral,
                                                int storySize)
                                         throws FacebookException
Description copied from interface: IFacebookRestClient
Publishes a user action to the feed. See: http://wiki.developers.facebook.com/index.php/Feed.publishUserAction

Specified by:
feed_publishUserAction in interface IFacebookRestClient<T>
Parameters:
bundleId - the template bundle-id to use to render the feed.
templateData - a map of name-value pairs to substitute into the template being rendered.
images - the images to associate with this feed entry
targetIds - the ids of individuals that are the target of this action.
bodyGeneral - additional markup to include in the feed story.
storySize - story size to use. valid values are 1, 2 or 4.
Returns:
true if the call succeeds false otherwise
Throws:
FacebookException

disconnect

protected static void disconnect(java.net.HttpURLConnection conn)

close

protected static void close(java.io.Closeable c)

runtimeException

protected static java.lang.RuntimeException runtimeException(java.lang.Exception ex)

printDom

protected static void printDom(org.w3c.dom.Node n,
                               java.lang.String prefix,
                               java.lang.StringBuilder sb)
Prints out the DOM tree.

Parameters:
n - the parent node to start printing from
prefix - string to append to output, should not be null

newPair

protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name,
                                                                       java.lang.Object value)

newPair

@Deprecated
protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name,
                                                                                  boolean value)
Deprecated. 


newPair10

protected static Pair<java.lang.String,java.lang.CharSequence> newPair10(java.lang.String name,
                                                                         boolean value)

newPairTF

protected static Pair<java.lang.String,java.lang.CharSequence> newPairTF(java.lang.String name,
                                                                         boolean value)

newPair

protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name,
                                                                       java.lang.CharSequence value)

newPair

protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name,
                                                                       java.lang.Long value)

newPair

protected static Pair<java.lang.String,java.lang.CharSequence> newPair(java.lang.String name,
                                                                       java.lang.Integer value)

addParam

protected static boolean addParam(java.lang.String name,
                                  java.lang.Long value,
                                  java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParamIfNotBlank

protected static boolean addParamIfNotBlank(java.lang.String name,
                                            java.lang.Long value,
                                            java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParamSecondsIfNotBlank

protected static boolean addParamSecondsIfNotBlank(java.lang.String name,
                                                   java.util.Date value,
                                                   java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParamIfNotBlankZero

protected static boolean addParamIfNotBlankZero(java.lang.String name,
                                                java.lang.Long value,
                                                java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParamDelimitIfNotBlankEmpty

protected static boolean addParamDelimitIfNotBlankEmpty(java.lang.String name,
                                                        java.lang.Iterable value,
                                                        java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParam

protected static boolean addParam(java.lang.String name,
                                  java.lang.Object value,
                                  java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParam

protected static boolean addParam(java.lang.String name,
                                  java.lang.CharSequence value,
                                  java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

addParamIfNotBlank

protected static boolean addParamIfNotBlank(java.lang.String name,
                                            java.lang.CharSequence value,
                                            java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)

toString

protected static java.lang.String toString(java.lang.CharSequence cs)

toJson

protected static org.json.JSONObject toJson(java.util.Map<java.lang.String,java.lang.String> map)

toJsonListOfStrings

protected static org.json.JSONArray toJsonListOfStrings(java.util.Collection<java.lang.String> list)

toJsonListOfMaps

protected static org.json.JSONArray toJsonListOfMaps(java.util.Collection<java.util.Map<java.lang.String,java.lang.String>> listOfMaps)

extractBoolean

protected boolean extractBoolean(T result)
Extracts a Boolean from a result that consists of a Boolean only.

Parameters:
result -
Returns:
the Boolean

extractInt

protected abstract int extractInt(T result)
Extracts an Long from a result that consists of an Long only.

Parameters:
result -
Returns:
the Long

extractLong

protected abstract java.lang.Long extractLong(T result)
Extracts an Long from a result that consists of a Long only.

Parameters:
result -
Returns:
the Long

extractURL

protected abstract java.net.URL extractURL(T result)
                                    throws java.io.IOException
Extracts a URL from a result that consists of a URL only.

Parameters:
result -
Returns:
the URL
Throws:
java.io.IOException

extractString

protected abstract java.lang.String extractString(T result)
Extracts a String from a T consisting entirely of a String.

Parameters:
result -
Returns:
the String

events_get

public T events_get(java.lang.Long userId,
                    java.util.Collection<java.lang.Long> eventIds,
                    java.lang.Long startTime,
                    java.lang.Long endTime)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Returns all visible events according to the filters specified.

Specified by:
events_get in interface IFacebookRestClient<T>
Parameters:
userId - Filter by events associated with a user with this uid.
eventIds - Filter by this list of event IDs. This is a comma-separated list of event IDs.
startTime - Filter with this UTC as lower bound. A missing or zero parameter indicates no lower bound.
endTime - Filter with this UTC as upper bound. A missing or zero parameter indicates no upper bound.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.get

events_get

public T events_get(java.lang.Long userId,
                    java.util.Collection<java.lang.Long> eventIds,
                    java.lang.Long startTime,
                    java.lang.Long endTime,
                    java.lang.String rsvp_status)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Returns all visible events according to the filters specified.

Specified by:
events_get in interface IFacebookRestClient<T>
Parameters:
userId - Filter by events associated with a user with this uid.
eventIds - Filter by this list of event IDs. This is a comma-separated list of event IDs.
startTime - Filter with this UTC as lower bound. A missing or zero parameter indicates no lower bound.
endTime - Filter with this UTC as upper bound. A missing or zero parameter indicates no upper bound.
rsvp_status - Filter by this RSVP status. The RSVP status should be one of the following strings: attending, unsure, declined, not_replied
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.get

events_getMembers

public T events_getMembers(java.lang.Long eventId)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the membership list of an event

Specified by:
events_getMembers in interface IFacebookRestClient<T>
Parameters:
eventId - The event ID.
Returns:
T consisting of four membership lists corresponding to RSVP status, with keys 'attending', 'unsure', 'declined', and 'not_replied'
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.getMembers

events_create

public java.lang.Long events_create(java.util.Map<java.lang.String,java.lang.String> event_info)
                             throws FacebookException
Description copied from interface: IFacebookRestClient
Creates an event on behalf of the user if the application has an active session key for that user; otherwise it creates an event on behalf of the application.

Specified by:
events_create in interface IFacebookRestClient<T>
Parameters:
event_info - The event information. You must pass the following parameters:
  • name
  • category
  • subcategory
  • host
  • location
  • city
  • start_time (seconds since epoch)
  • end_time (seconds since epoch)
Optionally, you can pass the following parameters in the event_info array:
  • street
  • phone
  • email
  • page_id
  • description
  • privacy_type
  • tagline
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.create

events_edit

public boolean events_edit(java.lang.Long eid,
                           java.util.Map<java.lang.String,java.lang.String> event_info)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Edits the details of an existing event. The application must be an admin of the event. An application is the admin of an event if the application created the event on behalf of a user (with that user's active session) or if it is the creator of the event itself (that is, the event was created without an active user session).

Specified by:
events_edit in interface IFacebookRestClient<T>
Parameters:
eid - The event ID.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.edit

events_cancel

public boolean events_cancel(java.lang.Long eid,
                             java.lang.String cancel_message)
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Cancels an event. The application must be an admin of the event. An application is the admin of an event if the application created the event on behalf of a user (with that user's active session) or if it is the creator of the event itself (that is, the event was created without an active user session).

Specified by:
events_cancel in interface IFacebookRestClient<T>
Parameters:
eid - The event ID.
cancel_message - The message sent explaining why the event was canceled. You can pass an empty string if you don't want to provide an explanation.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.cancel

events_rsvp

public boolean events_rsvp(java.lang.Long eid,
                           java.lang.String rsvp_status)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Sets a user's RSVP status for an event. An application can set a user's RSVP status only if the following are all true:

Specified by:
events_rsvp in interface IFacebookRestClient<T>
Parameters:
eid - The event ID.
rsvp_status - The user's RSVP status. Specify attending, unsure, or declined.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Events.rsvp

sms_canSend

public boolean sms_canSend()
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Check to see if the application is permitted to send SMS messages to the current application user.

Specified by:
sms_canSend in interface IFacebookRestClient<T>
Returns:
true if the application is presently able to send SMS messages to the current user false otherwise
Throws:
FacebookException - if an error happens when executing the API call.

sms_canSend

public boolean sms_canSend(java.lang.Long userId)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Check to see if the application is permitted to send SMS messages to the specified user.

Specified by:
sms_canSend in interface IFacebookRestClient<T>
Parameters:
userId - the UID of the user to check permissions for
Returns:
true if the application is presently able to send SMS messages to the specified user false otherwise
Throws:
FacebookException - if an error happens when executing the API call.

sms_send

public java.lang.Integer sms_send(java.lang.String message,
                                  java.lang.Integer smsSessionId,
                                  boolean makeNewSession)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Send an SMS message to the current application user.

Specified by:
sms_send in interface IFacebookRestClient<T>
Parameters:
message - the message to send.
smsSessionId - the SMS session id to use, note that that is distinct from the user's facebook session id. It is used to allow applications to keep track of individual SMS conversations/threads for a single user. Specify null if you do not want/need to use a session for the current message.
makeNewSession - set to true to request that Facebook allocate a new SMS session id for this message. The allocated id will be returned as the result of this API call. You should only set this to true if you are passing a null 'smsSessionId' value. Otherwise you already have a SMS session id, and do not need a new one.
Returns:
an integer specifying the value of the session id alocated by Facebook, if one was requested. If a new session id was not requested, this method will return null.
Throws:
FacebookException - if an error happens when executing the API call.

sms_send

public java.lang.Integer sms_send(java.lang.Long userId,
                                  java.lang.String message,
                                  java.lang.Integer smsSessionId,
                                  boolean makeNewSession)
                           throws FacebookException
Description copied from interface: IFacebookRestClient
Send an SMS message to the specified user.

Specified by:
sms_send in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user to send the message to.
message - the message to send.
smsSessionId - the SMS session id to use, note that that is distinct from the user's facebook session id. It is used to allow applications to keep track of individual SMS conversations/threads for a single user. Specify null if you do not want/need to use a session for the current message.
makeNewSession - set to true to request that Facebook allocate a new SMS session id for this message. The allocated id will be returned as the result of this API call. You should only set this to true if you are passing a null 'smsSessionId' value. Otherwise you already have a SMS session id, and do not need a new one.
Returns:
an integer specifying the value of the session id alocated by Facebook, if one was requested. If a new session id was not requested, this method will return null.
Throws:
FacebookException - if an error happens when executing the API call.

sms_sendMessage

public void sms_sendMessage(java.lang.Long userId,
                            java.lang.CharSequence message)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Sends a message via SMS to the user identified by userId. The SMS extended permission is required for success.

Specified by:
sms_sendMessage in interface IFacebookRestClient<T>
Parameters:
userId - a user ID
message - the message to be sent via SMS
Throws:
FacebookException - in case of error
See Also:
FacebookExtendedPerm.SMS, Developers Wiki: Mobile: Application Generated Messages, Developers Wiki: Mobile: Workflow

sms_sendMessageWithSession

public int sms_sendMessageWithSession(java.lang.Long userId,
                                      java.lang.CharSequence message)
                               throws FacebookException
Description copied from interface: IFacebookRestClient
Sends a message via SMS to the user identified by userId, 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 #sms_sendResponse when the user replies.

Specified by:
sms_sendMessageWithSession in interface IFacebookRestClient<T>
Parameters:
userId - a user ID
message - the message to be sent via SMS
Returns:
a mobile session ID (can be used in #sms_sendResponse)
Throws:
FacebookException - in case of error, e.g. SMS is not enabled
See Also:
FacebookExtendedPerm.SMS, Developers Wiki: Mobile: Application Generated Messages, Developers Wiki: Mobile: Workflow

connect_registerUsers

public T connect_registerUsers(java.util.Collection<java.util.Map<java.lang.String,java.lang.String>> accounts)
                        throws FacebookException
Description copied from interface: IFacebookRestClient
This method is used to create an association between an external user account and a Facebook user account. This method takes an array of account data, including a required email_hash and optional account data. For each connected account, if the user exists, the information is added to the set of the user's connected accounts. If the user has already authorized the site, the connected account is added in the confirmed state. If the user has not yet authorized the site, the connected account is added in the pending state.

Specified by:
connect_registerUsers in interface IFacebookRestClient<T>
Parameters:
accounts - An array of up to 1,000 arrays, or "maps," where each map represent a connected account. Each map can have the following properties:
  • email_hash: The public email hash of remote account. This property is required. Compute the email_hash property as follows:
    1. Normalize the email address. Trim leading and trailing whitespace, and convert all characters to lowercase.
    2. Compute the CRC32 value for the normalized email address and use the unsigned integer representation of this value. (Note that some implementations return signed integers, in which case you will need to convert that result to an unsigned integer.)
    3. Compute the MD5 value for the normalized email address and use the hex representation of this value (using lowercase for A through F).
    4. Combine these two value with an underscore.
    For example, the address mary@example.com converts to 4228600737_c96da02bba97aedfd26136e980ae3761.
  • account_id: The user's account ID on the Facebook Connect site. This property is optional. If you specify the account_id property, then you must also set a Connect Preview URL in your application's settings in order to generate a full user URL. The Connect Preview URL contains an account_id parameter, such as http://www.example.com/profile.php?user=account_id.
  • account_url: The URL to the user's account on the Facebook Connect site. This property is optional. If you specify the account_url property, that URL will be used directly.
Facebook recommends that you specify at least one of either the account_id or the account_url properties.
Returns:
This method returns an array of email hashes that have been successfully registered. If any email hashes are missing, we recommend that you try registering them again later.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Connect.registerUsers

connect_unregisterUsers

public T connect_unregisterUsers(java.util.Collection<java.lang.String> email_hashes)
                          throws FacebookException
Description copied from interface: IFacebookRestClient
This method allows a site to unregister a previously registered account (using connect.registerUsers). You should call this method if the user deletes his account on your site.

Specified by:
connect_unregisterUsers in interface IFacebookRestClient<T>
Parameters:
email_hashes - An array of email_hashes to unregister.
Returns:
This method returns an array of unregistered email hashes. If any email hashes are missing, we recommend that you try unregistering the account again later.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Connect.unregisterUsers

connect_getUnconnectedFriendsCount

public int connect_getUnconnectedFriendsCount()
                                       throws FacebookException
Description copied from interface: IFacebookRestClient
This method returns the number of friends of the current user who have accounts on your site, but have not yet connected their accounts. Also see fb:unconnected-friends-count. You can use the response from this call to determine whether or not to display a link allowing the user to invite their friends to connect as well.

Specified by:
connect_getUnconnectedFriendsCount in interface IFacebookRestClient<T>
Returns:
This method returns an int that indicates the number of users who have not yet connected their accounts.
Throws:
FacebookException
See Also:
http://wiki.developers.facebook.com/index.php/Connect.getUnconnectedFriendsCount

photos_get

public T photos_get(java.lang.Iterable<java.lang.Long> photoIds)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_get in interface IFacebookRestClient<T>
Parameters:
photoIds - retrieve from this list of photos (optional)
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId,
                    java.lang.Long albumId)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_get in interface IFacebookRestClient<T>
Parameters:
subjId - retrieve from photos associated with this user (optional).
albumId - retrieve from photos from this album (optional)
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId,
                    java.lang.Iterable<java.lang.Long> photoIds)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_get in interface IFacebookRestClient<T>
Parameters:
subjId - retrieve from photos associated with this user (optional).
photoIds - retrieve from this list of photos (optional)
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_get in interface IFacebookRestClient<T>
Parameters:
subjId - retrieve from photos associated with this user (optional).
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId,
                    java.lang.Long albumId,
                    java.lang.Iterable<java.lang.Long> photoIds)
             throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_get in interface IFacebookRestClient<T>
Parameters:
subjId - retrieve from photos associated with this user (optional).
albumId - retrieve from photos from this album (optional)
photoIds - retrieve from this list of photos (optional)
Returns:
an T of photo objects.
Throws:
FacebookException

photos_getTags

public T photos_getTags(java.lang.Iterable<java.lang.Long> photoIds)
                 throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves the tags for the given set of photos.

Specified by:
photos_getTags in interface IFacebookRestClient<T>
Parameters:
photoIds - The list of photos from which to extract photo tags.
Returns:
the created album
Throws:
FacebookException

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.CharSequence tagText,
                             java.lang.Double xPct,
                             java.lang.Double yPct)
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Adds a tag to a photo.

Specified by:
photos_addTag in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
tagText - The text of the tag.
xPct - The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo.
yPct - The list of photos from which to extract photo tags.
Returns:
whether the tag was successfully added.
Throws:
FacebookException

photos_createAlbum

public T photos_createAlbum(java.lang.String albumName)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Creates an album.

Specified by:
photos_createAlbum in interface IFacebookRestClient<T>
Parameters:
albumName - The list of photos from which to extract photo tags.
Returns:
the created album
Throws:
FacebookException

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.Long taggedUserId,
                             java.lang.Double xPct,
                             java.lang.Double yPct)
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Adds a tag to a photo.

Specified by:
photos_addTag in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
taggedUserId - The list of photos from which to extract photo tags.
xPct - The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo.
yPct - The vertical position of the tag, as a percentage from 0 to 100, from the top of the photo.
Returns:
whether the tag was successfully added.
Throws:
FacebookException

photos_addTags

public T photos_addTags(java.lang.Long photoId,
                        java.lang.Iterable<PhotoTag> tags)
                 throws FacebookException
Description copied from interface: IFacebookRestClient
Adds several tags to a photo.

Specified by:
photos_addTags in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
tags - A list of PhotoTags.
Returns:
a list of booleans indicating whether the tag was successfully added.
Throws:
FacebookException

photos_createAlbum

public T photos_createAlbum(java.lang.String name,
                            java.lang.String description,
                            java.lang.String location)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Creates an album.

Specified by:
photos_createAlbum in interface IFacebookRestClient<T>
Parameters:
name - The album name.
description - The album description (optional).
location - The album location (optional).
Returns:
an array of photo objects.
Throws:
FacebookException

photos_getAlbums

public T photos_getAlbums(java.lang.Iterable<java.lang.Long> albumIds)
                   throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves album metadata for a list of album IDs.

Specified by:
photos_getAlbums in interface IFacebookRestClient<T>
Parameters:
albumIds - the ids of albums whose metadata is to be retrieved
Returns:
album objects
Throws:
FacebookException
See Also:
Developers Wiki: Photos.getAlbums

photos_getAlbums

public T photos_getAlbums(java.lang.Long userId)
                   throws FacebookException
Description copied from interface: IFacebookRestClient
Retrieves album metadata for albums owned by a user.

Specified by:
photos_getAlbums in interface IFacebookRestClient<T>
Parameters:
userId - (optional) the id of the albums' owner (optional)
Returns:
album objects
Throws:
FacebookException
See Also:
Developers Wiki: Photos.getAlbums

photos_getAlbums

public T photos_getAlbums(java.lang.Long userId,
                          java.lang.Iterable<java.lang.Long> albumIds)
                   throws FacebookException
Description copied from interface: IFacebookRestClient
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)

Specified by:
photos_getAlbums in interface IFacebookRestClient<T>
Parameters:
userId - (optional) the id of the albums' owner (optional)
albumIds - (optional) the ids of albums whose metadata is to be retrieved
Returns:
album objects
Throws:
FacebookException
See Also:
Developers Wiki: Photos.getAlbums

photos_getByAlbum

public T photos_getByAlbum(java.lang.Long albumId,
                           java.lang.Iterable<java.lang.Long> photoIds)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_getByAlbum in interface IFacebookRestClient<T>
Parameters:
albumId - retrieve from photos from this album (optional)
photoIds - retrieve from this list of photos (optional)
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Integer, Long, Collection), Developers Wiki: Photos.get

photos_getByAlbum

public T photos_getByAlbum(java.lang.Long albumId)
                    throws FacebookException
Description copied from interface: IFacebookRestClient
Used to retrieve photo objects using the search parameters (one or more of the parameters must be provided).

Specified by:
photos_getByAlbum in interface IFacebookRestClient<T>
Parameters:
albumId - retrieve from photos from this album (optional)
Returns:
an T of photo objects.
Throws:
FacebookException
See Also:
#photos_get(Integer, Long, Collection), Developers Wiki: Photos.get

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.Long taggedUserId,
                             java.lang.Double pct,
                             java.lang.Double pct2,
                             java.lang.Long userId)
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Adds a tag to a photo.

Specified by:
photos_addTag in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
taggedUserId - The list of photos from which to extract photo tags.
pct - The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo.
pct2 - The vertical position of the tag, as a percentage from 0 to 100, from the top of the photo.
userId - the user tagging the photo.
Returns:
whether the tag was successfully added.
Throws:
FacebookException

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.CharSequence tagText,
                             java.lang.Double pct,
                             java.lang.Double pct2,
                             java.lang.Long userId)
                      throws FacebookException
Description copied from interface: IFacebookRestClient
Adds a tag to a photo.

Specified by:
photos_addTag in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
tagText - The text of the tag.
pct - The horizontal position of the tag, as a percentage from 0 to 100, from the left of the photo.
pct2 - The list of photos from which to extract photo tags.
userId - the user tagging the photo.
Returns:
whether the tag was successfully added.
Throws:
FacebookException

photos_createAlbum

public T photos_createAlbum(java.lang.String albumName,
                            java.lang.Long userId)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Creates an album.

Specified by:
photos_createAlbum in interface IFacebookRestClient<T>
Parameters:
albumName - The list of photos from which to extract photo tags.
userId - the id of the user creating the album.
Returns:
the created album
Throws:
FacebookException

photos_createAlbum

public T photos_createAlbum(java.lang.String name,
                            java.lang.String description,
                            java.lang.String location,
                            java.lang.Long userId)
                     throws FacebookException
Description copied from interface: IFacebookRestClient
Creates an album.

Specified by:
photos_createAlbum in interface IFacebookRestClient<T>
Parameters:
name - The album name.
description - The album description (optional).
location - The album location (optional).
userId - the id of the user creating the album.
Returns:
an array of photo objects.
Throws:
FacebookException

photos_addTags

public T photos_addTags(java.lang.Long photoId,
                        java.lang.Iterable<PhotoTag> tags,
                        java.lang.Long userId)
                 throws FacebookException
Description copied from interface: IFacebookRestClient
Adds several tags to a photo.

Specified by:
photos_addTags in interface IFacebookRestClient<T>
Parameters:
photoId - The photo id of the photo to be tagged.
tags - A list of PhotoTags.
userId - the id of the user adding the tags.
Returns:
a list of booleans indicating whether the tag was successfully added.
Throws:
FacebookException

photos_upload

public T photos_upload(java.io.File photo)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
photo - an image file
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.io.File photo,
                       java.lang.String caption)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
photo - an image file
caption - a description of the image contents
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.io.File photo,
                       java.lang.Long albumId)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
photo - an image file
albumId - the album into which the photo should be uploaded
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.io.File photo,
                       java.lang.String caption,
                       java.lang.Long albumId)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
photo - an image file
caption - a description of the image contents
albumId - the album into which the photo should be uploaded
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.io.File photo)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user uploading the photo
photo - an image file
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.io.File photo,
                       java.lang.String caption)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user uploading the photo
photo - an image file
caption - a description of the image contents
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.io.File photo,
                       java.lang.Long albumId)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user uploading the photo
photo - an image file
albumId - the album into which the photo should be uploaded
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.io.File photo,
                       java.lang.String caption,
                       java.lang.Long albumId)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user uploading the photo
photo - an image file
caption - a description of the image contents
albumId - the album into which the photo should be uploaded
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.lang.String caption,
                       java.lang.Long albumId,
                       java.lang.String fileName,
                       java.io.InputStream fileStream)
                throws FacebookException
Description copied from interface: IFacebookRestClient
Uploads a photo to Facebook.

Specified by:
photos_upload in interface IFacebookRestClient<T>
Parameters:
userId - the id of the user uploading the photo
caption - a description of the image contents
albumId - the album into which the photo should be uploaded
Returns:
a T with the standard Facebook photo information
Throws:
FacebookException
See Also:
Developers wiki: Photos.upload

notifications_sendEmail

public T notifications_sendEmail(java.util.Collection<java.lang.Long> recipients,
                                 java.lang.CharSequence subject,
                                 java.lang.CharSequence text,
                                 java.lang.CharSequence fbml)
                          throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to a set of app-users. You can only e-mail users who have already added your application. The e-mail content can be specified as either plaintext or FBML. In either case, only a limited subset of markup is supported (only tags that result in text and links are allowed). You must include at least one of either the fbml or email parameters, but you do not ever need to specify both at once (the other can be null, or ""). If you specify both a text version and a fbml version of your e-mail, the text version will be used.

Specified by:
notifications_sendEmail in interface IFacebookRestClient<T>
Parameters:
recipients - the uid's of the users to send to.
subject - the subject of the email message.
text - a plaintext version of the email to send.
fbml - an FBML version of the email to send, the fbml parameter is a stripped-down set of FBML that allows only tags that result in text, links and linebreaks.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendFbmlEmail

public T notifications_sendFbmlEmail(java.util.Collection<java.lang.Long> recipients,
                                     java.lang.String subject,
                                     java.lang.String fbml)
                              throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to a set of app-users. You can only e-mail users who have already added your application. The e-mail content can be specified as either plaintext or FBML. In either case, only a limited subset of markup is supported (only tags that result in text and links are allowed).

Specified by:
notifications_sendFbmlEmail in interface IFacebookRestClient<T>
Parameters:
recipients - the uid's of the users to send to.
subject - the subject of the email message.
fbml - the FBML version of the email to send, the fbml parameter is a stripped-down set of FBML that allows only tags that result in text, links and linebreaks.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendTextEmail

public T notifications_sendTextEmail(java.util.Collection<java.lang.Long> recipients,
                                     java.lang.String subject,
                                     java.lang.String email)
                              throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to a set of app-users. You can only e-mail users who have already added your application. The e-mail content can be specified as either plaintext or FBML. In either case, only a limited subset of markup is supported (only tags that result in text and links are allowed).

Specified by:
notifications_sendTextEmail in interface IFacebookRestClient<T>
Parameters:
recipients - the uid's of the users to send to.
subject - the subject of the email message.
email - a plaintext version of the email to send.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendEmailToCurrentUser

public T notifications_sendEmailToCurrentUser(java.lang.String subject,
                                              java.lang.String email,
                                              java.lang.String fbml)
                                       throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to the currently logged-in user. The e-mail content can be specified as either plaintext or FBML. In either case, only a limited subset of markup is supported (only tags that result in text and links are allowed). You must include at least one of either the fbml or email parameters, but you do not ever need to specify both at once (the other can be null, or ""). If you specify both a text version and a fbml version of your e-mail, the text version will be used.

Specified by:
notifications_sendEmailToCurrentUser in interface IFacebookRestClient<T>
Parameters:
subject - the subject of the email message.
email - a plaintext version of the email to send.
fbml - an FBML version of the email to send, the fbml parameter is a stripped-down set of FBML that allows only tags that result in text, links and linebreaks.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendFbmlEmailToCurrentUser

public T notifications_sendFbmlEmailToCurrentUser(java.lang.String subject,
                                                  java.lang.String fbml)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to the currently logged-in user. The e-mail must be specified as fbml, and can contain a limited subset of FBML tags (specifically, only tags that result in text and links).

Specified by:
notifications_sendFbmlEmailToCurrentUser in interface IFacebookRestClient<T>
Parameters:
subject - the subject of the email message.
fbml - the FBML version of the email to send, the fbml parameter is a stripped-down set of FBML that allows only tags that result in text, links and linebreaks.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendTextEmailToCurrentUser

public T notifications_sendTextEmailToCurrentUser(java.lang.String subject,
                                                  java.lang.String email)
                                           throws FacebookException
Description copied from interface: IFacebookRestClient
Send an e-mail to the currently logged-in user. The e-mail must be specified as plaintext, and can contain a limited subset of HTML tags (specifically, only tags that result in text and links).

Specified by:
notifications_sendTextEmailToCurrentUser in interface IFacebookRestClient<T>
Parameters:
subject - the subject of the email message.
email - a plaintext version of the email to send.
Returns:
a list of user-ids specifying which users were successfully emailed.
Throws:
FacebookException - if an error happens when executing the API call.

notifications_sendEmailStr

@Deprecated
public java.lang.String notifications_sendEmailStr(java.util.Collection<java.lang.Long> recipients,
                                                              java.lang.CharSequence subject,
                                                              java.lang.CharSequence fbml,
                                                              java.lang.CharSequence text)
                                            throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
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 fbml or text must be specified.

Specified by:
notifications_sendEmailStr in interface IFacebookRestClient<T>
Parameters:
recipients - up to 100 user ids to which the message is to be sent
subject - the subject of the notification email (optional)
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
text - the plain text to send to the specified users via email
Returns:
a comma-separated list of the IDs of the users to whom the email was successfully sent
Throws:
FacebookException
See Also:
Developers Wiki: notifications.sendEmail

notifications_sendEmail

@Deprecated
public java.lang.String notifications_sendEmail(java.util.Collection<java.lang.Long> recipients,
                                                           java.lang.CharSequence subject,
                                                           java.lang.CharSequence fbml)
                                         throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
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.

Specified by:
notifications_sendEmail in interface IFacebookRestClient<T>
Parameters:
recipients - up to 100 user ids to which the message is to be sent
subject - the subject of the notification email (optional)
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
Returns:
a comma-separated list of the IDs of the users to whom the email was successfully sent
Throws:
FacebookException
See Also:
Developers Wiki: notifications.sendEmail

notifications_sendEmailPlain

@Deprecated
public java.lang.String notifications_sendEmailPlain(java.util.Collection<java.lang.Long> recipients,
                                                                java.lang.CharSequence subject,
                                                                java.lang.CharSequence text)
                                              throws FacebookException
Deprecated. 

Description copied from interface: IFacebookRestClient
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.

Specified by:
notifications_sendEmailPlain in interface IFacebookRestClient<T>
Parameters:
recipients - up to 100 user ids to which the message is to be sent
subject - the subject of the notification email (optional)
text - the plain text to send to the specified users via email
Returns:
a comma-separated list of the IDs of the users to whom the email was successfully sent
Throws:
FacebookException
See Also:
Developers Wiki: notifications.sendEmail


Copyright © 2008. All Rights Reserved.