Request
This class is no longer available in the most recent version of the SDK.
A more recent version of this class is available. Check out the latest version.

A single request to be sent to the Facebook Platform through either the Graph API or REST API. The Request class provides functionality relating to serializing and deserializing requests and responses, making calls in batches (with a single round-trip to the service) and making calls asynchronously.

The particular service endpoint that a request targets is determined by either a graph path (see the setGraphPath.setGraphPath(String) method) or a REST method name (see the setRestMethod.setRestMethod(String) method); a single request may not target both.

A Request can be executed either anonymously or representing an authenticated user. In the former case, no Session needs to be specified, while in the latter, a Session that is in an opened state must be provided. If requests are executed in a batch, a Facebook application ID must be associated with the batch, either by supplying a Session for at least one of the requests in the batch (the first one found in the batch will be used) or by calling the setDefaultBatchApplicationId.setDefaultBatchApplicationId(String) method.

After completion of a request, its Session, if any, will be checked to determine if its Facebook access token needs to be extended; if so, a request to extend it will be issued in the background.

Extends:Object
Package:facebook
Constructors
Request()

Constructs a request without a session, graph path, or any other parameters.

public Request()
Request(Session, String)

Constructs a request with a Session to retrieve a particular graph path. A Session need not be provided, in which case the request is sent without an access token and thus is not executed in the context of any particular user. Only certain graph requests can be expected to succeed in this case. If a Session is provided, it must be in an opened state or the request will fail.

public Request(Session session, String graphPath)
ParameterDescription
sessionThe Session to use, or null
graphPathThe graph path to retrieve
Request(Session, String, Bundle, HttpMethod)

Constructs a request with a specific Session, graph path, parameters, and HTTP method. A Session need not be provided, in which case the request is sent without an access token and thus is not executed in the context of any particular user. Only certain graph requests can be expected to succeed in this case. If a Session is provided, it must be in an opened state or the request will fail.

Depending on the httpMethod parameter, the object at the graph path may be retrieved, created, or deleted.

public Request(Session session, String graphPath, Bundle parameters, HttpMethod httpMethod)
ParameterDescription
sessionThe Session to use, or null
graphPathThe graph path to retrieve, create, or delete
parametersAdditional parameters to pass along with the Graph API request; parameters must be Strings, Numbers, Bitmaps, Dates, or Byte arrays.
httpMethodThe HttpMethod to use for the request, or null for default (HttpMethod.GET)
Request(Session, String, Bundle, HttpMethod, Callback)

Constructs a request with a specific Session, graph path, parameters, and HTTP method. A Session need not be provided, in which case the request is sent without an access token and thus is not executed in the context of any particular user. Only certain graph requests can be expected to succeed in this case. If a Session is provided, it must be in an opened state or the request will fail.

Depending on the httpMethod parameter, the object at the graph path may be retrieved, created, or deleted.

public Request(Session session, String graphPath, Bundle parameters, HttpMethod httpMethod, Callback callback)
ParameterDescription
sessionThe Session to use, or null
graphPathThe graph path to retrieve, create, or delete
parametersAdditional parameters to pass along with the Graph API request; parameters must be Strings, Numbers, Bitmaps, Dates, or Byte arrays.
httpMethodThe HttpMethod to use for the request, or null for default (HttpMethod.GET)
callbackA callback that will be called when the request is completed to handle success or error conditions
Request(Session, String, Bundle, HttpMethod, Callback, String)

Constructs a request with a specific Session, graph path, parameters, and HTTP method. A Session need not be provided, in which case the request is sent without an access token and thus is not executed in the context of any particular user. Only certain graph requests can be expected to succeed in this case. If a Session is provided, it must be in an opened state or the request will fail.

Depending on the httpMethod parameter, the object at the graph path may be retrieved, created, or deleted.

public Request(Session session, String graphPath, Bundle parameters, HttpMethod httpMethod, Callback callback, String version)
ParameterDescription
sessionThe Session to use, or null
graphPathThe graph path to retrieve, create, or delete
parametersAdditional parameters to pass along with the Graph API request; parameters must be Strings, Numbers, Bitmaps, Dates, or Byte arrays.
httpMethodThe HttpMethod to use for the request, or null for default (HttpMethod.GET)
callbackA callback that will be called when the request is completed to handle success or error conditions
versionThe version of the Graph API
Class Methods
newPostRequest(Session, String, GraphObject, Callback)

Creates a new Request configured to post a GraphObject to a particular graph path, to either create or update the object at that path.

public static Request newPostRequest(Session session, String graphPath, GraphObject graphObject, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
graphPathThe graph path to retrieve, create, or delete
graphObjectThe GraphObject to create or update
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newRestRequest(Session, String, Bundle, HttpMethod)

Creates a new Request configured to make a call to the Facebook REST API.

public static Request newRestRequest(Session session, String restMethod, Bundle parameters, HttpMethod httpMethod)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
restMethodThe method in the Facebook REST API to execute
parametersAdditional parameters to pass along with the Graph API request; parameters must be Strings, Numbers, Bitmaps, Dates, or Byte arrays.
httpMethodThe HTTP method to use for the request; must be one of GET, POST, or DELETE
Returns
A Request that is ready to execute
newMeRequest(Session, GraphUserCallback)

Creates a new Request configured to retrieve a user's own profile.

public static Request newMeRequest(Session session, GraphUserCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newMyFriendsRequest(Session, GraphUserListCallback)

Creates a new Request configured to retrieve a user's friend list.

public static Request newMyFriendsRequest(Session session, GraphUserListCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUploadPhotoRequest(Session, Bitmap, Callback)

Creates a new Request configured to upload a photo to the user's default photo album.

public static Request newUploadPhotoRequest(Session session, Bitmap image, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
imageThe image to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUploadPhotoRequest(Session, File, Callback)

Creates a new Request configured to upload a photo to the user's default photo album. The photo will be read from the specified stream.

public static Request newUploadPhotoRequest(Session session, File file, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
fileThe file containing the photo to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUploadVideoRequest(Session, File, Callback)

Creates a new Request configured to upload a photo to the user's default photo album. The photo will be read from the specified file descriptor.

public static Request newUploadVideoRequest(Session session, File file, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
fileThe file to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newGraphPathRequest(Session, String, Callback)

Creates a new Request configured to retrieve a particular graph path.

public static Request newGraphPathRequest(Session session, String graphPath, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
graphPathThe graph path to retrieve
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newPlacesSearchRequest(Session, Location, int, int, String, GraphPlaceListCallback)

Creates a new Request that is configured to perform a search for places near a specified location via the Graph API. At least one of location or searchText must be specified.

public static Request newPlacesSearchRequest(Session session, Location location, int radiusInMeters, int resultsLimit, String searchText, GraphPlaceListCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
locationThe location around which to search; only the latitude and longitude components of the location are meaningful
radiusInMetersThe radius around the location to search, specified in meters; this is ignored if no location is specified
resultsLimitThe maximum number of results to return
searchTextOptional text to search for as part of the name or type of an object
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newStatusUpdateRequest(Session, String, Callback)

Creates a new Request configured to post a status update to a user's feed.

public static Request newStatusUpdateRequest(Session session, String message, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
messageThe text of the status update
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newStatusUpdateRequest(Session, String, GraphPlace, List, Callback)

Creates a new Request configured to post a status update to a user's feed.

public static Request newStatusUpdateRequest(Session session, String message, GraphPlace place, List tags, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
messageThe text of the status update
placeAn optional place to associate with the post
tagsAn optional list of users to tag in the post
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newCustomAudienceThirdPartyIdRequest(Session, Context, Callback)

Creates a new Request configured to retrieve an App User ID for the app's Facebook user. Callers will send this ID back to their own servers, collect up a set to create a Facebook Custom Audience with, and then use the resultant Custom Audience to target ads.

The GraphObject in the response will include an "custom_audience_third_party_id" property, with the value being the ID retrieved. This ID is an encrypted encoding of the Facebook user's ID and the invoking Facebook app ID. Multiple calls with the same user will return different IDs, thus these IDs cannot be used to correlate behavior across devices or applications, and are only meaningful when sent back to Facebook for creating Custom Audiences.

The ID retrieved represents the Facebook user identified in the following way: if the specified session (or activeSession if the specified session is null) is open, the ID will represent the user associated with the activeSession; otherwise the ID will represent the user logged into the native Facebook app on the device. A null ID will be provided into the callback if a) there is no native Facebook app, b) no one is logged into it, or c) the app has previously called Settings.setLimitEventAndDataUsage(android.content.Context, boolean) with true for this user.

public static Request newCustomAudienceThirdPartyIdRequest(Session session, Context context, Callback callback)
ParameterDescription
sessionThe Session to issue the Request on, or null; if non-null, the session must be in an opened state. If there is no logged-in Facebook user, null is the expected choice.
contextThe Application context from which the app ID will be pulled, and from which the 'attribution ID' for the Facebook user is determined. If there has been no app ID set, an exception will be thrown.
callbackA callback that will be called when the request is completed to handle success or error conditions. The GraphObject in the Response will contain a "custom_audience_third_party_id" property that represents the user as described above.
Returns
A Request that is ready to execute
newCustomAudienceThirdPartyIdRequest(Session, Context, String, Callback)

Creates a new Request configured to retrieve an App User ID for the app's Facebook user. Callers will send this ID back to their own servers, collect up a set to create a Facebook Custom Audience with, and then use the resultant Custom Audience to target ads.

The GraphObject in the response will include an "custom_audience_third_party_id" property, with the value being the ID retrieved. This ID is an encrypted encoding of the Facebook user's ID and the invoking Facebook app ID. Multiple calls with the same user will return different IDs, thus these IDs cannot be used to correlate behavior across devices or applications, and are only meaningful when sent back to Facebook for creating Custom Audiences.

The ID retrieved represents the Facebook user identified in the following way: if the specified session (or activeSession if the specified session is null) is open, the ID will represent the user associated with the activeSession; otherwise the ID will represent the user logged into the native Facebook app on the device. A null ID will be provided into the callback if a) there is no native Facebook app, b) no one is logged into it, or c) the app has previously called Settings.setLimitEventAndDataUsage(android.content.Context, boolean) ;} with true for this user.

public static Request newCustomAudienceThirdPartyIdRequest(Session session, Context context, String applicationId, Callback callback)
ParameterDescription
sessionThe Session to issue the Request on, or null; if non-null, the session must be in an opened state. If there is no logged-in Facebook user, null is the expected choice.
contextThe Application context from which the app ID will be pulled, and from which the 'attribution ID' for the Facebook user is determined. If there has been no app ID set, an exception will be thrown.
applicationIdExplicitly specified Facebook App ID. If null, and there's a valid session, then the application ID from the session will be used, otherwise the application ID from metadata will be used.
callbackA callback that will be called when the request is completed to handle success or error conditions. The GraphObject in the Response will contain a "custom_audience_third_party_id" property that represents the user as described above.
Returns
A Request that is ready to execute
newUploadStagingResourceWithImageRequest(Session, Bitmap, Callback)

Creates a new Request configured to upload an image to create a staging resource. Staging resources allow you to post binary data such as images, in preparation for a post of an Open Graph object or action which references the image. The URI returned when uploading a staging resource may be passed as the image property for an Open Graph object or action.

public static Request newUploadStagingResourceWithImageRequest(Session session, Bitmap image, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
imageThe image to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUploadStagingResourceWithImageRequest(Session, File, Callback)

Creates a new Request configured to upload an image to create a staging resource. Staging resources allow you to post binary data such as images, in preparation for a post of an Open Graph object or action which references the image. The URI returned when uploading a staging resource may be passed as the image property for an Open Graph object or action.

public static Request newUploadStagingResourceWithImageRequest(Session session, File file, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
fileThe file containing the image to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newPostOpenGraphObjectRequest(Session, OpenGraphObject, Callback)

Creates a new Request configured to create a user owned Open Graph object.

public static Request newPostOpenGraphObjectRequest(Session session, OpenGraphObject openGraphObject, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
openGraphObjectThe Open Graph object to create; must not be null, and must have a non-empty type and title
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newPostOpenGraphObjectRequest(Session, String, String, String, String, String, GraphObject, Callback)

Creates a new Request configured to create a user owned Open Graph object.

public static Request newPostOpenGraphObjectRequest(Session session, String type, String title, String imageUrl, String url, String description, GraphObject objectProperties, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
typeThe fully-specified Open Graph object type (e.g., my_app_namespace:my_object_name); must not be null
titleThe title of the Open Graph object; must not be null
imageUrlThe link to an image to be associated with the Open Graph object; may be null
urlThe url to be associated with the Open Graph object; may be null
descriptionThe description to be associated with the object; may be null
objectPropertiesAny additional type-specific properties for the Open Graph object; may be null
callbackA callback that will be called when the request is completed to handle success or error conditions; may be null
Returns
A Request that is ready to execute
newPostOpenGraphActionRequest(Session, OpenGraphAction, Callback)

Creates a new Request configured to publish an Open Graph action.

public static Request newPostOpenGraphActionRequest(Session session, OpenGraphAction openGraphAction, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
openGraphActionThe Open Graph object to create; must not be null, and must have a non-empty 'type'
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newDeleteObjectRequest(Session, String, Callback)

Creates a new Request configured to delete a resource through the Graph API.

public static Request newDeleteObjectRequest(Session session, String id, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
idThe id of the object to delete
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUpdateOpenGraphObjectRequest(Session, OpenGraphObject, Callback)

Creates a new Request configured to update a user owned Open Graph object.

public static Request newUpdateOpenGraphObjectRequest(Session session, OpenGraphObject openGraphObject, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
openGraphObjectThe Open Graph object to update, which must have a valid 'id' property
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
newUpdateOpenGraphObjectRequest(Session, String, String, String, String, String, GraphObject, Callback)

Creates a new Request configured to update a user owned Open Graph object.

public static Request newUpdateOpenGraphObjectRequest(Session session, String id, String title, String imageUrl, String url, String description, GraphObject objectProperties, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
idThe id of the Open Graph object
titleThe title of the Open Graph object
imageUrlThe link to an image to be associated with the Open Graph object
urlThe url to be associated with the Open Graph object
descriptionThe description to be associated with the object
objectPropertiesAny additional type-specific properties for the Open Graph object
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A Request that is ready to execute
getDefaultBatchApplicationId()

Gets the default Facebook application ID that will be used to submit batched requests if none of those requests specifies a Session. Batched requests require an application ID, so either at least one request in a batch must specify a Session or the application ID must be specified explicitly.

public static final String getDefaultBatchApplicationId()
Returns
The Facebook application ID to use for batched requests if none can be determined
setDefaultBatchApplicationId(String)

Sets the default application ID that will be used to submit batched requests if none of those requests specifies a Session. Batched requests require an application ID, so either at least one request in a batch must specify a Session or the application ID must be specified explicitly.

public static final void setDefaultBatchApplicationId(String applicationId)
ParameterDescription
applicationIdThe Facebook application ID to use for batched requests if none can be determined
executePostRequestAsync(Session, String, GraphObject, Callback)

Starts a new Request configured to post a GraphObject to a particular graph path, to either create or update the object at that path.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newPostRequest(...).executeAsync();

public static RequestAsyncTask executePostRequestAsync(Session session, String graphPath, GraphObject graphObject, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
graphPathThe graph path to retrieve, create, or delete
graphObjectThe GraphObject to create or update
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeRestRequestAsync(Session, String, Bundle, HttpMethod)

Starts a new Request configured to make a call to the Facebook REST API.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newRestRequest(...).executeAsync();

public static RequestAsyncTask executeRestRequestAsync(Session session, String restMethod, Bundle parameters, HttpMethod httpMethod)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
restMethodThe method in the Facebook REST API to execute
parametersAdditional parameters to pass along with the Graph API request; parameters must be Strings, Numbers, Bitmaps, Dates, or Byte arrays.
httpMethodThe HTTP method to use for the request; must be one of GET, POST, or DELETE
Returns
A RequestAsyncTask that is executing the request
executeMeRequestAsync(Session, GraphUserCallback)

Starts a new Request configured to retrieve a user's own profile.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newMeRequest(...).executeAsync();

public static RequestAsyncTask executeMeRequestAsync(Session session, GraphUserCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeMyFriendsRequestAsync(Session, GraphUserListCallback)

Starts a new Request configured to retrieve a user's friend list.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newMyFriendsRequest(...).executeAsync();

public static RequestAsyncTask executeMyFriendsRequestAsync(Session session, GraphUserListCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeUploadPhotoRequestAsync(Session, Bitmap, Callback)

Starts a new Request configured to upload a photo to the user's default photo album.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newUploadPhotoRequest(...).executeAsync();

public static RequestAsyncTask executeUploadPhotoRequestAsync(Session session, Bitmap image, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
imageThe image to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeUploadPhotoRequestAsync(Session, File, Callback)

Starts a new Request configured to upload a photo to the user's default photo album. The photo will be read from the specified stream.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newUploadPhotoRequest(...).executeAsync();

public static RequestAsyncTask executeUploadPhotoRequestAsync(Session session, File file, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
fileThe file containing the photo to upload
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeGraphPathRequestAsync(Session, String, Callback)

Starts a new Request configured to retrieve a particular graph path.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newGraphPathRequest(...).executeAsync();

public static RequestAsyncTask executeGraphPathRequestAsync(Session session, String graphPath, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
graphPathThe graph path to retrieve
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executePlacesSearchRequestAsync(Session, Location, int, int, String, GraphPlaceListCallback)

Starts a new Request that is configured to perform a search for places near a specified location via the Graph API.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newPlacesSearchRequest(...).executeAsync();

public static RequestAsyncTask executePlacesSearchRequestAsync(Session session, Location location, int radiusInMeters, int resultsLimit, String searchText, GraphPlaceListCallback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
locationThe location around which to search; only the latitude and longitude components of the location are meaningful
radiusInMetersThe radius around the location to search, specified in meters
resultsLimitThe maximum number of results to return
searchTextOptional text to search for as part of the name or type of an object
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
executeStatusUpdateRequestAsync(Session, String, Callback)

Starts a new Request configured to post a status update to a user's feed.

This should only be called from the UI thread.

This method is deprecated. Prefer to call Request.newStatusUpdateRequest(...).executeAsync();

public static RequestAsyncTask executeStatusUpdateRequestAsync(Session session, String message, Callback callback)
ParameterDescription
sessionThe Session to use, or null; if non-null, the session must be in an opened state
messageThe text of the status update
callbackA callback that will be called when the request is completed to handle success or error conditions
Returns
A RequestAsyncTask that is executing the request
toHttpConnection(Request)

Serializes one or more requests but does not execute them. The resulting HttpURLConnection can be executed explicitly by the caller.

public static HttpURLConnection toHttpConnection(Request requests)
ParameterDescription
requestsOne or more Requests to serialize
Returns
An HttpURLConnection which is ready to execute
toHttpConnection(Collection)

Serializes one or more requests but does not execute them. The resulting HttpURLConnection can be executed explicitly by the caller.

public static HttpURLConnection toHttpConnection(Collection requests)
ParameterDescription
requestsOne or more Requests to serialize
Returns
An HttpURLConnection which is ready to execute
toHttpConnection(RequestBatch)

Serializes one or more requests but does not execute them. The resulting HttpURLConnection can be executed explicitly by the caller.

public static HttpURLConnection toHttpConnection(RequestBatch requests)
ParameterDescription
requestsA RequestBatch to serialize
Returns
An HttpURLConnection which is ready to execute
executeAndWait(Request)

Executes a single request on the current thread and returns the response.

This should only be used if you have transitioned off the UI thread.

public static Response executeAndWait(Request request)
ParameterDescription
requestThe Request to execute
Returns
The Response object representing the results of the request
executeBatchAndWait(Request)

Executes requests on the current thread as a single batch and returns the responses.

This should only be used if you have transitioned off the UI thread.

public static List executeBatchAndWait(Request requests)
ParameterDescription
requestsThe Requests to execute
Returns
A list of Response objects representing the results of the requests; responses are returned in the same order as the requests were specified.
executeBatchAndWait(Collection)

Executes requests as a single batch on the current thread and returns the responses.

This should only be used if you have transitioned off the UI thread.

public static List executeBatchAndWait(Collection requests)
ParameterDescription
requestsThe Requests to execute
Returns
A list of Response objects representing the results of the requests; responses are returned in the same order as the requests were specified.
executeBatchAndWait(RequestBatch)

Executes requests on the current thread as a single batch and returns the responses.

This should only be used if you have transitioned off the UI thread.

public static List executeBatchAndWait(RequestBatch requests)
ParameterDescription
requestsThe batch of Requests to execute
Returns
A list of Response objects representing the results of the requests; responses are returned in the same order as the requests were specified.
executeBatchAsync(Request)

Executes requests as a single batch asynchronously. This function will return immediately, and the requests will be processed on a separate thread. In order to process results of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).

This should only be called from the UI thread.

public static RequestAsyncTask executeBatchAsync(Request requests)
ParameterDescription
requestsThe Requests to execute
Returns
A RequestAsyncTask that is executing the request
executeBatchAsync(Collection)

Executes requests as a single batch asynchronously. This function will return immediately, and the requests will be processed on a separate thread. In order to process results of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).

This should only be called from the UI thread.

public static RequestAsyncTask executeBatchAsync(Collection requests)
ParameterDescription
requestsThe Requests to execute
Returns
A RequestAsyncTask that is executing the request
executeBatchAsync(RequestBatch)

Executes requests as a single batch asynchronously. This function will return immediately, and the requests will be processed on a separate thread. In order to process results of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).

This should only be called from the UI thread.

public static RequestAsyncTask executeBatchAsync(RequestBatch requests)
ParameterDescription
requestsThe RequestBatch to execute
Returns
A RequestAsyncTask that is executing the request
executeConnectionAndWait(HttpURLConnection, Collection)

Executes requests that have already been serialized into an HttpURLConnection. No validation is done that the contents of the connection actually reflect the serialized requests, so it is the caller's responsibility to ensure that it will correctly generate the desired responses.

This should only be called if you have transitioned off the UI thread.

public static List executeConnectionAndWait(HttpURLConnection connection, Collection requests)
ParameterDescription
connectionThe HttpURLConnection that the requests were serialized into
requestsThe requests represented by the HttpURLConnection
Returns
A list of Responses corresponding to the requests
executeConnectionAndWait(HttpURLConnection, RequestBatch)

Executes requests that have already been serialized into an HttpURLConnection. No validation is done that the contents of the connection actually reflect the serialized requests, so it is the caller's responsibility to ensure that it will correctly generate the desired responses.

This should only be called if you have transitioned off the UI thread.

public static List executeConnectionAndWait(HttpURLConnection connection, RequestBatch requests)
ParameterDescription
connectionThe HttpURLConnection that the requests were serialized into
requestsThe RequestBatch represented by the HttpURLConnection
Returns
A list of Responses corresponding to the requests
executeConnectionAsync(HttpURLConnection, RequestBatch)

Asynchronously executes requests that have already been serialized into an HttpURLConnection. No validation is done that the contents of the connection actually reflect the serialized requests, so it is the caller's responsibility to ensure that it will correctly generate the desired responses. This function will return immediately, and the requests will be processed on a separate thread. In order to process results of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).

This should only be called from the UI thread.

public static RequestAsyncTask executeConnectionAsync(HttpURLConnection connection, RequestBatch requests)
ParameterDescription
connectionThe HttpURLConnection that the requests were serialized into
requestsThe requests represented by the HttpURLConnection
Returns
A RequestAsyncTask that is executing the request
executeConnectionAsync(Handler, HttpURLConnection, RequestBatch)

Asynchronously executes requests that have already been serialized into an HttpURLConnection. No validation is done that the contents of the connection actually reflect the serialized requests, so it is the caller's responsibility to ensure that it will correctly generate the desired responses. This function will return immediately, and the requests will be processed on a separate thread. In order to process results of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method)

This should only be called from the UI thread.

public static RequestAsyncTask executeConnectionAsync(Handler callbackHandler, HttpURLConnection connection, RequestBatch requests)
ParameterDescription
callbackHandlerA Handler that will be used to post calls to the callback for each request; if null, a Handler will be instantiated on the calling thread
connectionThe HttpURLConnection that the requests were serialized into
requestsThe requests represented by the HttpURLConnection
Returns
A RequestAsyncTask that is executing the request
Instance Methods
getGraphObject()

Returns the GraphObject, if any, associated with this request.

public final GraphObject getGraphObject()
Returns
The GraphObject associated with this requeset, or null if there is none
setGraphObject(GraphObject)

Sets the GraphObject associated with this request. This is meaningful only for POST requests.

public final void setGraphObject(GraphObject graphObject)
ParameterDescription
graphObjectThe GraphObject to upload along with this request
getGraphPath()

Returns the graph path of this request, if any.

public final String getGraphPath()
Returns
The graph path of this request, or null if there is none
setGraphPath(String)

Sets the graph path of this request. A graph path may not be set if a REST method has been specified.

public final void setGraphPath(String graphPath)
ParameterDescription
graphPathThe graph path for this request
getHttpMethod()

Returns the HttpMethod to use for this request.

public final HttpMethod getHttpMethod()
Returns
The HttpMethod
setHttpMethod(HttpMethod)

Sets the HttpMethod to use for this request.

public final void setHttpMethod(HttpMethod httpMethod)
ParameterDescription
httpMethodThe HttpMethod, or null for the default (HttpMethod.GET).
getVersion()

Returns the version of the API that this request will use. By default this is the current API at the time the SDK is released.

public final String getVersion()
Returns
The version that this request will use
setVersion(String)

Set the version to use for this request. By default the version will be the current API at the time the SDK is released. Only use this if you need to explicitly override.

public final void setVersion(String version)
ParameterDescription
versionThe version to use. Should look like "v2.0"
getParameters()

Returns the parameters for this request.

public final Bundle getParameters()
Returns
The parameters
setParameters(Bundle)

Sets the parameters for this request.

public final void setParameters(Bundle parameters)
ParameterDescription
parametersThe parameters
getRestMethod()

Returns the REST method to call for this request.

public final String getRestMethod()
Returns
The REST method
setRestMethod(String)

Sets the REST method to call for this request. A REST method may not be set if a graph path has been specified.

public final void setRestMethod(String restMethod)
ParameterDescription
restMethodThe REST method to call
getSession()

Returns the Session associated with this request.

public final Session getSession()
Returns
The Session associated with this request, or null if none has been specified
setSession(Session)

Sets the Session to use for this request. The Session does not need to be opened at the time it is specified, but it must be opened by the time the request is executed.

public final void setSession(Session session)
ParameterDescription
sessionThe Session to use for this request
getBatchEntryName()

Returns the name of this request's entry in a batched request.

public final String getBatchEntryName()
Returns
The name of this request's batch entry, or null if none has been specified
setBatchEntryName(String)

Sets the name of this request's entry in a batched request. This value is only used if this request is submitted as part of a batched request. It can be used to specified dependencies between requests. See Batch Requests in the Graph API documentation for more details.

public final void setBatchEntryName(String batchEntryName)
ParameterDescription
batchEntryNameThe name of this request's entry in a batched request, which must be unique within a particular batch of requests
getBatchEntryDependsOn()

Returns the name of the request that this request entry explicitly depends on in a batched request.

public final String getBatchEntryDependsOn()
Returns
The name of this request's dependency, or null if none has been specified
setBatchEntryDependsOn(String)

Sets the name of the request entry that this request explicitly depends on in a batched request. This value is only used if this request is submitted as part of a batched request. It can be used to specified dependencies between requests. See Batch Requests in the Graph API documentation for more details.

public final void setBatchEntryDependsOn(String batchEntryDependsOn)
ParameterDescription
batchEntryDependsOnThe name of the request entry that this entry depends on in a batched request
getBatchEntryOmitResultOnSuccess()

Returns whether or not this batch entry will return a response if it is successful. Only applies if another request entry in the batch specifies this entry as a dependency.

public final boolean getBatchEntryOmitResultOnSuccess()
Returns
The name of this request's dependency, or null if none has been specified
setBatchEntryOmitResultOnSuccess(boolean)

Sets whether or not this batch entry will return a response if it is successful. Only applies if another request entry in the batch specifies this entry as a dependency. See Batch Requests in the Graph API documentation for more details.

public final void setBatchEntryOmitResultOnSuccess(boolean batchEntryOmitResultOnSuccess)
ParameterDescription
batchEntryOmitResultOnSuccessThe name of the request entry that this entry depends on in a batched request
getCallback()

Returns the callback which will be called when the request finishes.

public final Callback getCallback()
Returns
The callback
setCallback(Callback)

Sets the callback which will be called when the request finishes.

public final void setCallback(Callback callback)
ParameterDescription
callbackThe callback
setTag(Object)

Sets the tag on the request; this is an application-defined object that can be used to distinguish between different requests. Its value has no effect on the execution of the request.

public final void setTag(Object tag)
ParameterDescription
tagAn object to serve as a tag, or null
getTag()

Gets the tag on the request; this is an application-defined object that can be used to distinguish between different requests. Its value has no effect on the execution of the request.

public final Object getTag()
Returns
An object that serves as a tag, or null
executeAndWait()

Executes this request and returns the response.

This should only be called if you have transitioned off the UI thread.

public final Response executeAndWait()
Returns
The Response object representing the results of the request
executeAsync()

Executes this request and returns the response.

This should only be called from the UI thread.

public final RequestAsyncTask executeAsync()
Returns
A RequestAsyncTask that is executing the request
Constants
MAXIMUM_BATCH_SIZE
The maximum number of requests that can be submitted in a single batch. This limit is enforced on the service side by the Facebook platform, not by the Request class.
public static final int MAXIMUM_BATCH_SIZE
TAG
public static final String TAG