Represents a batch response returned from the Graph API.
After sending a batch request to the Graph API, the response will be returned in the form of a Facebook\FacebookBatchResponse entity.
Usage:
$fb = new Facebook\Facebook(/* . . . */);
$requests = [
$fb->request('GET', '/me'),
$fb->request('POST', '/me/feed', [/* */]),
];
// Send the batch request to Graph
try {
$batchResponse = $fb->sendBatchRequest($requests, '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
foreach ($batchResponse as $key => $response) {
if ($response->isError()) {
$error = $response->getThrownException();
echo $key . ' error: ' . $error->getMessage();
} else {
// Success
}
}
var_dump($batchResponse);
// class Facebook\FacebookBatchResponse . . .Since the Facebook\FacebookBatchResponse is extended from the Facebook\FacebookResponse entity, all the methods are inherited.
public array getResponses()Returns the array of Facebook\FacebookResponse entities that were returned from Graph.
Since Facebook\FacebookBatchResponse implements \IteratorAggregate and \ArrayAccess, the responses can be accessed via array syntax and can also be iterated over.
$requests = [
'foo' => $fb->request('GET', '/me'),
'bar' => $fb->request('POST', '/me/feed', [/* */]),
];
$batchResponse = $fb->sendBatchRequest($requests);
foreach ($batchResponse as $key => $response) {
if ($response->isError()) {
$error = $response->getThrownException();
echo $key . ' error: ' . $error->getMessage();
} else {
// Success
}
}
var_dump($batchResponse['foo']);
// class Facebook\FacebookResponse . . .