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
           
protected  java.io.File _uploadFile
           
protected  boolean batchMode
           
protected  java.lang.Boolean cacheAppAdded
           
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
           
static int NUM_AUTOAPPENDED_PARAMS
          The number of parameters required for every request.
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
static boolean addParam(java.lang.String name, java.lang.CharSequence value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
static boolean addParam(java.lang.String name, java.lang.Long value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
static boolean addParamIfNotBlank(java.lang.String name, java.lang.CharSequence value, java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> params)
           
static boolean addParamIfNotBlank(java.lang.String name, java.lang.Long 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, Pair<java.lang.String,java.lang.CharSequence>... paramPairs)
          Call the specified method, with the given parameters, and return a DOM tree with the results.
 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.
 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.
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  java.lang.String encodeMethods(java.util.List<com.google.code.facebookapi.BatchQuery> queries)
           
 void endPermissionsMode()
          Terminates permissions mode.
 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_getMembers(java.lang.Number eventId)
          Retrieves the membership list of 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)
          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.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.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 friendListId)
          Retrieves the friends of the currently logged in user that are members of the friends list with ID friendListId.
 T friends_getAppUsers()
          Retrieves the friends of the currently logged in user, who are also users of the calling application.
 T friends_getLists()
          Retrieves the friend lists of the currently logged in user.
 java.lang.Boolean getCacheAppAdded()
           
 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. 
 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> recipientIds, java.lang.CharSequence subject, java.lang.CharSequence fbml)
          Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.
 T notifications_sendEmail(java.util.Collection<java.lang.Long> recipients, java.lang.CharSequence subject, java.lang.CharSequence email, 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> recipientIds, java.lang.CharSequence subject, java.lang.CharSequence text)
          Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.
 java.lang.String notifications_sendEmailStr(java.util.Collection<java.lang.Long> recipientIds, java.lang.CharSequence subject, java.lang.CharSequence fbml, java.lang.CharSequence text)
          Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.
 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.util.Collection<PhotoTag> tags)
          Adds several tags to a photo.
 T photos_addTags(java.lang.Long photoId, java.util.Collection<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.util.Collection<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.util.Collection<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.util.Collection<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.util.Collection<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.util.Collection<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.util.Collection<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.util.Collection<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.
protected  java.io.InputStream postFileRequest(java.lang.String methodName, java.util.Map<java.lang.String,java.lang.String> params, boolean doEncode)
          Helper function for posting a request that includes raw file data, eg photos_upload(java.io.File).
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.
 void setCacheAppAdded(java.lang.Boolean cacheAppAdded)
           
 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)
          Determines whether this application can send SMS to the user identified by userId
 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.
 void sms_sendResponse(java.lang.Integer userId, java.lang.CharSequence response, java.lang.Integer mobileSessionId)
          Sends a message via SMS to the user identified by userId in response to a user query associated with mobileSessionId.
protected  boolean templatizedFeedHandler(FacebookMethod method, 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)
           
static java.lang.String toString(java.lang.CharSequence cs)
           
 boolean users_clearStatus()
          Clears the logged-in user's Facebook status.
 T users_getInfo(java.util.Collection<java.lang.Long> userIds, java.util.Collection<ProfileField> fields)
          Retrieves the requested info fields for the requested set of users.
 T users_getInfo(java.util.Collection<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.util.Collection<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.util.Collection<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, data_getUserPreference, data_getUserPreferences, data_setUserPreference, data_setUserPreferences, executeBatch, getCacheFriendsList, marketplace_getListings, marketplace_getSubCategories, marketplace_search, setCacheFriendsList
 

Field Detail

log

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

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

NUM_AUTOAPPENDED_PARAMS

public static final int NUM_AUTOAPPENDED_PARAMS
The number of parameters required for every request.

See Also:
callMethod(IFacebookMethod,Collection), Constant Field Values

_uploadFile

protected java.io.File _uploadFile

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

protected java.lang.Boolean cacheAppAdded
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

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

setCacheAppAdded

public void setCacheAppAdded(java.lang.Boolean cacheAppAdded)
Specified by:
setCacheAppAdded 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,
                            java.io.IOException
Description copied from interface: IFacebookRestClient
Retrieves whether two users are friends.

Specified by:
friends_areFriends in interface IFacebookRestClient<T>
Throws:
FacebookException
java.io.IOException
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,
                            java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.areFriends

fbml_refreshRefUrl

public boolean fbml_refreshRefUrl(java.lang.String url)
                           throws FacebookException,
                                  java.io.IOException
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
java.io.IOException

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,
                                                 java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Auth.getSession

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.Long actorId,
                                             java.lang.CharSequence titleTemplate)
                                      throws FacebookException,
                                             java.io.IOException
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
java.io.IOException
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,
                                             java.io.IOException
Publishes a Mini-Feed story describing an action taken by a user, and publishes aggregating News Feed stories to the friends of that user. Stories are identified as being combinable if they have matching templates and substituted values.

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
java.io.IOException
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,
                                             java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

groups_getMembers

public T groups_getMembers(java.lang.Number groupId)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException

events_getMembers

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

Specified by:
events_getMembers in interface IFacebookRestClient<T>
Parameters:
eventId - event id
Returns:
T consisting of four membership lists corresponding to RSVP status, with keys 'attending', 'unsure', 'declined', and 'not_replied'
Throws:
FacebookException
java.io.IOException

friends_getAppUsers

public T friends_getAppUsers()
                      throws FacebookException,
                             java.io.IOException
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
java.io.IOException

fql_query

public T fql_query(java.lang.CharSequence query)
            throws FacebookException,
                   java.io.IOException
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
java.io.IOException

photos_get

public T photos_get(java.util.Collection<java.lang.Long> photoIds)
             throws FacebookException,
                    java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.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,
                    java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId,
                    java.util.Collection<java.lang.Long> photoIds)
             throws FacebookException,
                    java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId)
             throws FacebookException,
                    java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.photos_get(Long, Long, Collection), Developers Wiki: Photos.get

photos_get

public T photos_get(java.lang.Long subjId,
                    java.lang.Long albumId,
                    java.util.Collection<java.lang.Long> photoIds)
             throws FacebookException,
                    java.io.IOException
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
java.io.IOException

photos_getTags

public T photos_getTags(java.util.Collection<java.lang.Long> photoIds)
                 throws FacebookException,
                        java.io.IOException
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
java.io.IOException

groups_get

public T groups_get(java.lang.Long userId,
                    java.util.Collection<java.lang.Long> groupIds)
             throws FacebookException,
                    java.io.IOException
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
java.io.IOException

callMethod

protected T callMethod(IFacebookMethod method,
                       Pair<java.lang.String,java.lang.CharSequence>... paramPairs)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException

callMethod

protected T callMethod(IFacebookMethod method,
                       java.util.Collection<Pair<java.lang.String,java.lang.CharSequence>> paramPairs)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException

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,
                                  java.io.IOException
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
java.io.IOException

notifications_get

public T notifications_get()
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException

users_getStandardInfo

public T users_getStandardInfo(java.util.Collection<java.lang.Long> userIds,
                               java.util.Collection<ProfileField> fields)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getStandardInfo

users_getStandardInfo

public T users_getStandardInfo(java.util.Collection<java.lang.Long> userIds,
                               java.util.Set<java.lang.CharSequence> fields)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getStandardInfo

users_getInfo

public T users_getInfo(java.util.Collection<java.lang.Long> userIds,
                       java.util.Collection<ProfileField> fields)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getInfo

users_getInfo

public T users_getInfo(java.util.Collection<java.lang.Long> userIds,
                       java.util.Set<java.lang.CharSequence> fields)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Users.getInfo

users_getLoggedInUser

public long users_getLoggedInUser()
                           throws FacebookException,
                                  java.io.IOException
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
java.io.IOException

auth_getUserId

@Deprecated
public long auth_getUserId(java.lang.String authToken)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException

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,
                                java.io.IOException
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
java.io.IOException
See Also:
Users.isAppAdded

users_isAppUser

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

users_isAppUser

public boolean users_isAppUser(java.lang.Long userId)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
Users.isAppUser

users_setStatus

public boolean users_setStatus(java.lang.String status)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
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,
                                 java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.users_hasAppPermission(com.google.code.facebookapi.Permission), FacebookExtendedPerm.STATUS_UPDATE, http://wiki.developers.facebook.com/index.php/Users.setStatus

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.CharSequence tagText,
                             java.lang.Double xPct,
                             java.lang.Double yPct)
                      throws FacebookException,
                             java.io.IOException
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
java.io.IOException

postFileRequest

protected java.io.InputStream postFileRequest(java.lang.String methodName,
                                              java.util.Map<java.lang.String,java.lang.String> params,
                                              boolean doEncode)
                                       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)

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,
                                       java.io.IOException
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
java.io.IOException

fbml_refreshImgSrc

public boolean fbml_refreshImgSrc(java.lang.String imageUrl)
                           throws FacebookException,
                                  java.io.IOException
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
java.io.IOException

photos_upload

public T photos_upload(java.io.File photo)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.io.File photo,
                       java.lang.String caption)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Photos.upload

photos_upload

public T photos_upload(java.io.File photo,
                       java.lang.Long albumId)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Photos.upload

photos_createAlbum

public T photos_createAlbum(java.lang.String albumName)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException

photos_addTag

public boolean photos_addTag(java.lang.Long photoId,
                             java.lang.Long taggedUserId,
                             java.lang.Double xPct,
                             java.lang.Double yPct)
                      throws FacebookException,
                             java.io.IOException
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
java.io.IOException

photos_addTags

public T photos_addTags(java.lang.Long photoId,
                        java.util.Collection<PhotoTag> tags)
                 throws FacebookException,
                        java.io.IOException
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
java.io.IOException

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

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,
                    java.io.IOException
Description copied from interface: IFacebookRestClient
Returns all visible events according to the filters specified. This may be used to find all events of a user, or to query specific eids.

Specified by:
events_get in interface IFacebookRestClient<T>
Parameters:
userId - filter by this user only (optional)
eventIds - filter by these event ID's (optional)
startTime - UTC lower bound (optional)
endTime - UTC upper bound (optional)
Throws:
FacebookException
java.io.IOException

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)

photos_createAlbum

public T photos_createAlbum(java.lang.String name,
                            java.lang.String description,
                            java.lang.String location)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException

photos_getAlbums

public T photos_getAlbums(java.util.Collection<java.lang.Long> albumIds)
                   throws FacebookException,
                          java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Photos.getAlbums

photos_getAlbums

public T photos_getAlbums(java.lang.Long userId)
                   throws FacebookException,
                          java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Photos.getAlbums

photos_getAlbums

public T photos_getAlbums(java.lang.Long userId,
                          java.util.Collection<java.lang.Long> albumIds)
                   throws FacebookException,
                          java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Photos.getAlbums

fbml_refreshImgSrc

public boolean fbml_refreshImgSrc(java.net.URL imageUrl)
                           throws FacebookException,
                                  java.io.IOException
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
java.io.IOException

friends_get

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

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

auth_createToken

public java.lang.String auth_createToken()
                                  throws FacebookException,
                                         java.io.IOException
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
java.io.IOException
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,
                                                java.io.IOException
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
java.io.IOException
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,
                                              java.io.IOException
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
java.io.IOException
See Also:
MarketplaceListing, Developers Wiki: marketplace.createListing

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId)
                                  throws FacebookException,
                                         java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: marketplace.removeListing

marketplace_removeListing

@Deprecated
public boolean marketplace_removeListing(java.lang.Long listingId,
                                                    java.lang.CharSequence status)
                                  throws FacebookException,
                                         java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: marketplace.removeListing

marketplace_getCategories

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

Get the categories available in marketplace.

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

marketplace_getSubCategories

public T marketplace_getSubCategories(java.lang.CharSequence category)
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException
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,
                                 java.io.IOException
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
java.io.IOException
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,
                            java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: marketplace.search

photos_getByAlbum

public T photos_getByAlbum(java.lang.Long albumId,
                           java.util.Collection<java.lang.Long> photoIds)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException
See Also:
#photos_get(Integer, Long, Collection), Developers Wiki: Photos.get

photos_getByAlbum

public T photos_getByAlbum(java.lang.Long albumId)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException
See Also:
#photos_get(Integer, Long, Collection), Developers Wiki: Photos.get

marketplace_getCategoriesObject

public T marketplace_getCategoriesObject()
                                  throws FacebookException,
                                         java.io.IOException
Get the categories available in marketplace.

Specified by:
marketplace_getCategoriesObject in interface IFacebookRestClient<T>
Returns:
a T listing the marketplace categories
Throws:
FacebookException
java.io.IOException
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,
                                             java.io.IOException
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
java.io.IOException

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,
                                             java.io.IOException
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
java.io.IOException

templatizedFeedHandler

protected boolean templatizedFeedHandler(FacebookMethod method,
                                         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,
                                         java.io.IOException
Throws:
FacebookException
java.io.IOException

users_hasAppPermission

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

users_hasAppPermission

public boolean users_hasAppPermission(Permission perm,
                                      java.lang.Long userId)
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException
See Also:
Users.hasAppPermission

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                java.lang.String attributes)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                MarketListing listing)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_createListing

public java.lang.Long marketplace_createListing(boolean showOnProfile,
                                                MarketListing listing)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId,
                                         MarketListingStatus status)
                                  throws FacebookException,
                                         java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_editListing

public java.lang.Long marketplace_editListing(java.lang.Long listingId,
                                              java.lang.Boolean showOnProfile,
                                              MarketListing attrs)
                                       throws FacebookException,
                                              java.io.IOException
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
java.io.IOException
See Also:
MarketplaceListing, Developers Wiki: marketplace.createListing

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear)
                        throws FacebookException,
                               java.io.IOException
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.
java.io.IOException - if a communication/network error happens.
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,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Pages.getInfo

pages_getInfo

public T pages_getInfo(java.lang.Long userId,
                       java.util.EnumSet<PageProfileField> fields)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Pages.getInfo

pages_isAppAdded

public boolean pages_isAppAdded(java.lang.Long pageId)
                         throws FacebookException,
                                java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Pages.isAppAdded

pages_isFan

public boolean pages_isFan(java.lang.Long pageId,
                           java.lang.Long userId)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Pages.isFan

pages_isFan

public boolean pages_isFan(java.lang.Long pageId)
                    throws FacebookException,
                           java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Pages.isFan

pages_isAdmin

public boolean pages_isAdmin(java.lang.Long pageId)
                      throws FacebookException,
                             java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Pages.isAdmin

fbml_setRefHandle

public boolean fbml_setRefHandle(java.lang.String handle,
                                 java.lang.String fbmlMarkup)
                          throws FacebookException,
                                 java.io.IOException
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.
java.io.IOException - if a communication/network error happens.
See Also:
Developers Wiki: Fbml.setRefHandle

sms_canSend

public boolean sms_canSend()
                    throws FacebookException,
                           java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

sms_canSend

public boolean sms_canSend(java.lang.Long userId)
                    throws FacebookException,
                           java.io.IOException
Determines whether this application can send SMS to the user identified by userId

Specified by:
sms_canSend in interface IFacebookRestClient<T>
Parameters:
userId - a user ID
Returns:
true if sms can be sent to the user
Throws:
FacebookException - if an error happens when executing the API call.
java.io.IOException - if a communication/network error happens.
See Also:
FacebookExtendedPerm.SMS, Developers Wiki: Mobile: Application Generated Messages

sms_sendResponse

public void sms_sendResponse(java.lang.Integer userId,
                             java.lang.CharSequence response,
                             java.lang.Integer mobileSessionId)
                      throws FacebookException,
                             java.io.IOException
Sends a message via SMS to the user identified by userId in response to a user query associated with mobileSessionId.

Parameters:
userId - a user ID
response - the message to be sent via SMS
mobileSessionId - the mobile session
Throws:
FacebookException - in case of error
java.io.IOException
See Also:
FacebookExtendedPerm.SMS, Developers Wiki: Mobile: Application Generated Messages, Developers Wiki: Mobile: Workflow

sms_sendMessage

public void sms_sendMessage(java.lang.Long userId,
                            java.lang.CharSequence message)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException
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,
                                      java.io.IOException
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(java.lang.Integer, java.lang.CharSequence, java.lang.Integer) 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(java.lang.Integer, java.lang.CharSequence, java.lang.Integer))
Throws:
FacebookException - in case of error, e.g. SMS is not enabled
java.io.IOException
See Also:
FacebookExtendedPerm.SMS, Developers Wiki: Mobile: Application Generated Messages, Developers Wiki: Mobile: Workflow

notifications_send

public void notifications_send(java.util.Collection<java.lang.Long> recipientIds,
                               java.lang.CharSequence notification)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException

notifications_sendEmail

public T notifications_sendEmail(java.util.Collection<java.lang.Long> recipients,
                                 java.lang.CharSequence subject,
                                 java.lang.CharSequence email,
                                 java.lang.CharSequence fbml)
                          throws FacebookException,
                                 java.io.IOException
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.
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.
java.io.IOException - if a communication/network error happens.

notifications_sendEmailToCurrentUser

public T notifications_sendEmailToCurrentUser(java.lang.String subject,
                                              java.lang.String email,
                                              java.lang.String fbml)
                                       throws FacebookException,
                                              java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

notifications_sendFbmlEmail

public T notifications_sendFbmlEmail(java.util.Collection<java.lang.Long> recipients,
                                     java.lang.String subject,
                                     java.lang.String fbml)
                              throws FacebookException,
                                     java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

notifications_sendFbmlEmailToCurrentUser

public T notifications_sendFbmlEmailToCurrentUser(java.lang.String subject,
                                                  java.lang.String fbml)
                                           throws FacebookException,
                                                  java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

notifications_sendTextEmail

public T notifications_sendTextEmail(java.util.Collection<java.lang.Long> recipients,
                                     java.lang.String subject,
                                     java.lang.String email)
                              throws FacebookException,
                                     java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

notifications_sendTextEmailToCurrentUser

public T notifications_sendTextEmailToCurrentUser(java.lang.String subject,
                                                  java.lang.String email)
                                           throws FacebookException,
                                                  java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

users_setStatus

public boolean users_setStatus(java.lang.String newStatus,
                               boolean clear,
                               boolean statusIncludesVerb)
                        throws FacebookException,
                               java.io.IOException
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.
java.io.IOException - if a communication/network error happens.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

notifications_send

public void notifications_send(java.lang.CharSequence notification)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: notifications.send

notifications_sendEmailStr

@Deprecated
public java.lang.String notifications_sendEmailStr(java.util.Collection<java.lang.Long> recipientIds,
                                                              java.lang.CharSequence subject,
                                                              java.lang.CharSequence fbml,
                                                              java.lang.CharSequence text)
                                            throws FacebookException,
                                                   java.io.IOException
Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.

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:
recipientIds - 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
java.io.IOException
See Also:
Developers Wiki: notifications.sendEmail

notifications_sendEmail

@Deprecated
public java.lang.String notifications_sendEmail(java.util.Collection<java.lang.Long> recipientIds,
                                                           java.lang.CharSequence subject,
                                                           java.lang.CharSequence fbml)
                                         throws FacebookException,
                                                java.io.IOException
Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.

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:
recipientIds - 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
java.io.IOException
See Also:
Developers Wiki: notifications.sendEmail

notifications_sendEmailPlain

@Deprecated
public java.lang.String notifications_sendEmailPlain(java.util.Collection<java.lang.Long> recipientIds,
                                                                java.lang.CharSequence subject,
                                                                java.lang.CharSequence text)
                                              throws FacebookException,
                                                     java.io.IOException
Deprecated. provided for legacy support only, please use one of the alternate notifications_sendEmail calls.

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:
recipientIds - 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
java.io.IOException
See Also:
Developers Wiki: notifications.sendEmail

sms_send

public java.lang.Integer sms_send(java.lang.String message,
                                  java.lang.Integer smsSessionId,
                                  boolean makeNewSession)
                           throws FacebookException,
                                  java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

sms_send

public java.lang.Integer sms_send(java.lang.Long userId,
                                  java.lang.String message,
                                  java.lang.Integer smsSessionId,
                                  boolean makeNewSession)
                           throws FacebookException,
                                  java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

data_getCookies

public T data_getCookies()
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException

data_getCookies

public T data_getCookies(java.lang.Long userId)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException

data_getCookies

public T data_getCookies(java.lang.String name)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException

data_getCookies

public T data_getCookies(java.lang.Long userId,
                         java.lang.CharSequence name)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.String path)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value,
                              java.lang.CharSequence path)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.Long expires)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.String name,
                              java.lang.String value,
                              java.lang.Long expires,
                              java.lang.String path)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

data_setCookie

public boolean data_setCookie(java.lang.Long userId,
                              java.lang.CharSequence name,
                              java.lang.CharSequence value,
                              java.lang.Long expires)
                       throws FacebookException,
                              java.io.IOException
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
java.io.IOException

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,
                              java.io.IOException
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
java.io.IOException

admin_setAppProperties

public boolean admin_setAppProperties(java.util.Map<ApplicationProperty,java.lang.String> properties)
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException

admin_getAppProperties

@Deprecated
public org.json.JSONObject admin_getAppProperties(java.util.Collection<ApplicationProperty> properties)
                                           throws FacebookException,
                                                  java.io.IOException
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
java.io.IOException

admin_getAppPropertiesMap

public java.util.Map<ApplicationProperty,java.lang.String> admin_getAppPropertiesMap(java.util.Collection<ApplicationProperty> properties)
                                                                              throws FacebookException,
                                                                                     java.io.IOException
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
java.io.IOException

feed_publishTemplatizedAction

public boolean feed_publishTemplatizedAction(java.lang.CharSequence titleTemplate)
                                      throws FacebookException,
                                             java.io.IOException
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
java.io.IOException
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,
                                             java.io.IOException
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
java.io.IOException
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,
                                             java.io.IOException
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
java.io.IOException
See Also:
Developers Wiki: Feed.publishTemplatizedAction, Developers Resources: Feed Preview Console

friends_get

public T friends_get(java.lang.Long friendListId)
              throws FacebookException,
                     java.io.IOException
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_get in interface IFacebookRestClient<T>
Parameters:
friendListId - the friend list for which friends should be fetched. if null, all friends will be retrieved.
Throws:
FacebookException
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.get

friends_getLists

public T friends_getLists()
                   throws FacebookException,
                          java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Friends.getLists

admin_setAppProperties

public boolean admin_setAppProperties(ApplicationPropertySet properties)
                               throws FacebookException,
                                      java.io.IOException
Sets several property values for an application. The properties available are analogous to the ones editable via the Facebook Developer application. A session is not required to use this method.

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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.setAppProperties

admin_getAppPropertiesAsSet

public ApplicationPropertySet admin_getAppPropertiesAsSet(java.util.EnumSet<ApplicationProperty> properties)
                                                   throws FacebookException,
                                                          java.io.IOException
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
java.io.IOException
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,
                   java.io.IOException
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
java.io.IOException

application_getPublicInfo

public T application_getPublicInfo(java.lang.Long applicationId,
                                   java.lang.String applicationKey,
                                   java.lang.String applicationCanvas)
                            throws FacebookException,
                                   java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoById

public T application_getPublicInfoById(java.lang.Long applicationId)
                                throws FacebookException,
                                       java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoByApiKey

public T application_getPublicInfoByApiKey(java.lang.String applicationKey)
                                    throws FacebookException,
                                           java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

application_getPublicInfoByCanvasName

public T application_getPublicInfoByCanvasName(java.lang.String applicationCanvas)
                                        throws FacebookException,
                                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Application.getPublicInfo

admin_getAllocation

public int admin_getAllocation(java.lang.String allocationType)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getAllocation

public int admin_getAllocation(AllocationType allocationType)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getNotificationAllocation

@Deprecated
public int admin_getNotificationAllocation()
                                    throws FacebookException,
                                           java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getAllocation

admin_getRequestAllocation

@Deprecated
public int admin_getRequestAllocation()
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getDailyMetrics

permissions_checkGrantedApiAccess

public T permissions_checkGrantedApiAccess(java.lang.String apiKey)
                                    throws FacebookException,
                                           java.io.IOException
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
java.io.IOException

permissions_checkAvailableApiAccess

public T permissions_checkAvailableApiAccess(java.lang.String apiKey)
                                      throws FacebookException,
                                             java.io.IOException
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
java.io.IOException

permissions_grantApiAccess

public boolean permissions_grantApiAccess(java.lang.String apiKey,
                                          java.util.Set<FacebookMethod> methods)
                                   throws FacebookException,
                                          java.io.IOException
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
java.io.IOException

permissions_grantFullApiAccess

public boolean permissions_grantFullApiAccess(java.lang.String apiKey)
                                       throws FacebookException,
                                              java.io.IOException
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
java.io.IOException

permissions_revokeApiAccess

public boolean permissions_revokeApiAccess(java.lang.String apiKey)
                                    throws FacebookException,
                                           java.io.IOException
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
java.io.IOException

auth_promoteSession

public java.lang.String auth_promoteSession()
                                     throws FacebookException,
                                            java.io.IOException
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
java.io.IOException

auth_revokeAuthorization

public boolean auth_revokeAuthorization()
                                 throws FacebookException,
                                        java.io.IOException
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
java.io.IOException

auth_expireSession

public boolean auth_expireSession()
                           throws FacebookException,
                                  java.io.IOException
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
java.io.IOException

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                java.lang.String attributes,
                                                java.lang.Long userId)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_createListing

public java.lang.Long marketplace_createListing(java.lang.Long listingId,
                                                boolean showOnProfile,
                                                MarketListing listing,
                                                java.lang.Long userId)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_createListing

public java.lang.Long marketplace_createListing(boolean showOnProfile,
                                                MarketListing listing,
                                                java.lang.Long userId)
                                         throws FacebookException,
                                                java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

marketplace_removeListing

public boolean marketplace_removeListing(java.lang.Long listingId,
                                         java.lang.Long userId)
                                  throws FacebookException,
                                         java.io.IOException
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
java.io.IOException
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,
                                         java.io.IOException
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.
java.io.IOException - if a communication/network error happens.

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,
                             java.io.IOException
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
java.io.IOException

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,
                             java.io.IOException
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
java.io.IOException

photos_createAlbum

public T photos_createAlbum(java.lang.String albumName,
                            java.lang.Long userId)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException

photos_createAlbum

public T photos_createAlbum(java.lang.String name,
                            java.lang.String description,
                            java.lang.String location,
                            java.lang.Long userId)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException

photos_upload

public T photos_upload(java.lang.Long userId,
                       java.io.File photo)
                throws FacebookException,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
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,
                       java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Photos.upload

users_isAppAdded

@Deprecated
public boolean users_isAppAdded(java.lang.Long userId)
                         throws FacebookException,
                                java.io.IOException
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
java.io.IOException
See Also:
Users.isAppAdded

users_setStatus

public boolean users_setStatus(java.lang.String status,
                               java.lang.Long userId)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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.
java.io.IOException - if a communication/network error happens.
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,
                               java.io.IOException
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.
java.io.IOException - if a communication/network error happens.
See Also:
http://wiki.developers.facebook.com/index.php/Users.setStatus

feed_getRegisteredTemplateBundleByID

public T feed_getRegisteredTemplateBundleByID(java.lang.Long id)
                                       throws FacebookException,
                                              java.io.IOException
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
java.io.IOException

feed_getRegisteredTemplateBundles

public T feed_getRegisteredTemplateBundles()
                                    throws FacebookException,
                                           java.io.IOException
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
java.io.IOException

feed_publishUserAction

public java.lang.Boolean feed_publishUserAction(java.lang.Long bundleId)
                                         throws FacebookException,
                                                java.io.IOException
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
java.io.IOException

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,
                                                java.io.IOException
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
java.io.IOException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.lang.String template)
                                           throws FacebookException,
                                                  java.io.IOException
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
java.io.IOException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates)
                                           throws FacebookException,
                                                  java.io.IOException
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
java.io.IOException

feed_registerTemplateBundle

public java.lang.Long feed_registerTemplateBundle(java.util.Collection<java.lang.String> templates,
                                                  java.util.Collection<BundleStoryTemplate> shortTemplates,
                                                  BundleStoryTemplate longTemplate)
                                           throws FacebookException,
                                                  java.io.IOException
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
java.io.IOException

feed_registerTemplateBundle

@Deprecated
public java.lang.Long feed_registerTemplateBundle(java.lang.String template,
                                                             java.lang.String shortTemplate,
                                                             java.lang.String longTemplate)
                                           throws FacebookException,
                                                  java.io.IOException
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
java.io.IOException

profile_getFBML

public T profile_getFBML()
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(java.lang.Long userId)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(int type)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException
See Also:
IFacebookRestClient.profile_getFBML(int, Long)

profile_getFBML

public T profile_getFBML(int type,
                         java.lang.Long userId)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException
See Also:
Profile.getFBML

profile_getInfo

public T profile_getInfo(java.lang.Long userId)
                  throws FacebookException,
                         java.io.IOException
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
java.io.IOException

profile_getInfoOptions

public T profile_getInfoOptions(java.lang.String field)
                         throws FacebookException,
                                java.io.IOException
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
java.io.IOException

profile_setInfo

public void profile_setInfo(java.lang.Long userId,
                            java.lang.String title,
                            boolean textOnly,
                            java.util.List<ProfileInfoField> fields)
                     throws FacebookException,
                            java.io.IOException
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
java.io.IOException

profile_setInfoOptions

public void profile_setInfoOptions(ProfileInfoField field)
                            throws FacebookException,
                                   java.io.IOException
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
java.io.IOException

photos_addTags

public T photos_addTags(java.lang.Long photoId,
                        java.util.Collection<PhotoTag> tags,
                        java.lang.Long userId)
                 throws FacebookException,
                        java.io.IOException
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
java.io.IOException

profile_setFBML

public boolean profile_setFBML(java.lang.CharSequence profileFbmlMarkup,
                               java.lang.CharSequence profileActionFbmlMarkup)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFBML

profile_setMobileFBML

public boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup)
                              throws FacebookException,
                                     java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFBML

profile_setMobileFBML

public boolean profile_setMobileFBML(java.lang.CharSequence fbmlMarkup,
                                     java.lang.Long profileId)
                              throws FacebookException,
                                     java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileActionFBML

public boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup)
                                     throws FacebookException,
                                            java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileActionFBML

public boolean profile_setProfileActionFBML(java.lang.CharSequence fbmlMarkup,
                                            java.lang.Long profileId)
                                     throws FacebookException,
                                            java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFBML

profile_setProfileFBML

public boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup)
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException
See Also:
Developers wiki: Profile.setFbml

profile_setProfileFBML

public boolean profile_setProfileFBML(java.lang.CharSequence fbmlMarkup,
                                      java.lang.Long profileId)
                               throws FacebookException,
                                      java.io.IOException
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
java.io.IOException
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,
                               java.io.IOException
Specified by:
profile_setFBML in interface IFacebookRestClient<T>
Throws:
FacebookException
java.io.IOException
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,
                               java.io.IOException
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
java.io.IOException
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,
                                          java.io.IOException
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
java.io.IOException

admin_getMetrics

public T admin_getMetrics(java.util.Set<Metric> metrics,
                          java.util.Date start,
                          java.util.Date end,
                          long period)
                   throws FacebookException,
                          java.io.IOException
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
java.io.IOException
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,
                          java.io.IOException
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
java.io.IOException
See Also:
http://wiki.developers.facebook.com/index.php/Admin.getMetrics

feed_deactivateTemplateBundleByID

public boolean feed_deactivateTemplateBundleByID(java.lang.Long bundleId)
                                          throws FacebookException,
                                                 java.io.IOException
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
java.io.IOException

notifications_send

public void notifications_send(java.util.Collection<java.lang.Long> recipientIds,
                               java.lang.String notification,
                               boolean isAppToUser)
                        throws FacebookException,
                               java.io.IOException
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
java.io.IOException
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,
                                                java.io.IOException
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
java.io.IOException

printDom

public 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

addParam

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

addParamIfNotBlank

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

addParam

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

addParamIfNotBlank

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

toString

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

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


Copyright © 2008. All Rights Reserved.