books.reads

An action representing someone reading a book.

Create
/* make the API call */
FB.api(
    "/me/books.reads",
    "POST",
    {
        "progress:timestamp": 1475229648,
        "progress:percent_complete": 3.1415926535,
        "book": "http:\/\/samples.ogp.me\/344468272304428"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
NSDictionary *params = @{
  @"progress:timestamp": @1475229648,
  @"progress:percent_complete": @3.1415926535,
  @"book": @"http://samples.ogp.me/344468272304428",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/me/books.reads"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
Bundle params = new Bundle();
params.putInt("progress:timestamp", 1475229648);
params.putDouble("progress:percent_complete", 3.1415926535);
params.putString("book", "http://samples.ogp.me/344468272304428");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/me/books.reads",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'POST',
  '/me/books.reads',
  array (
    'progress:timestamp' => 1475229648,
    'progress:percent_complete' => 3.1415926535,
    'book' => 'http://samples.ogp.me/344468272304428',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
POST /v2.7/me/books.reads HTTP/1.1
Host: graph.facebook.com

progress%3Atimestamp=1475229648&progress%3Apercent_complete=3.1415926535&book=http%3A%2F%2Fsamples.ogp.me%2F344468272304428
curl -X POST \
     -d "progress%3Atimestamp=1475229648&progress%3Apercent_complete=3.1415926535&book=http%3A%2F%2Fsamples.ogp.me%2F344468272304428" \
        https://graph.facebook.com/v2.7/me/books.reads

Request

NameTypeDescription
FIELDS
bookReferenceThe object representing the book
progressArray<Progress>Describes how much of the book that a person has finished
progress:timestampDateTimeTime of a change in progress towards finishing the book
progress:percent_completeFloatPercentage progress towards finishing the book
INHERITED FIELDS
created_timeDateTimeThe time that the action was created
end_timeDateTimeThe time that the user ended
expires_inIntegerThe amount of time from the publish_time that the action will expire
fb:explicitly_sharedBooleanThe user is explicitly sharing this action
messageStringA message attached to this action
no_feed_storyBooleanDo not post this action to the feed
placePlaceThe place that the action took place
refStringA <50 character string identifier for tracking and insights
start_timeDateTimeThe time that the user started
tagsArray<Profile>Any other users that performed the action

Response

NameTypeDescription
idReadA Read action id
Read
/* make the API call */
FB.api(
    "/me/books.reads",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/me/books.reads"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/me/books.reads",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'GET',
  '/me/books.reads'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
GET /v2.7/me/books.reads HTTP/1.1
Host: graph.facebook.com
curl https://graph.facebook.com/v2.7/me/books.reads

Request

NameTypeDescription
idReadA Read action id

Response

NameTypeDescription
FIELDS
bookReferenceThe object representing the book
progressArray<Progress>Describes how much of the book that a person has finished
progress:timestampDateTimeTime of a change in progress towards finishing the book
progress:percent_completeFloatPercentage progress towards finishing the book
INHERITED FIELDS
end_timeDateTimeThe time that the user ended
imageArray<ActionImage>
image:urlURL
image:secure_urlURL
image:typeString
image:widthInteger
image:heightInteger
image:altString
image:user_generatedBoolean
messageStringA message attached to this action
no_feed_storyBooleanDo not post this action to the feed
placePlaceThe place that the action took place
publish_timeDateTimeThe time that the action was published
refStringA <50 character string identifier for tracking and insights
start_timeDateTimeThe time that the user started
tagsArray<Profile>Any other users that performed the action
Update
/* make the API call */
FB.api(
    "/id_from_create_call",
    "POST",
    {
        "progress:timestamp": 1475229648,
        "progress:percent_complete": 3.1415926535,
        "book": "http:\/\/samples.ogp.me\/344468272304428"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
NSDictionary *params = @{
  @"progress:timestamp": @1475229648,
  @"progress:percent_complete": @3.1415926535,
  @"book": @"http://samples.ogp.me/344468272304428",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/id_from_create_call"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
Bundle params = new Bundle();
params.putInt("progress:timestamp", 1475229648);
params.putDouble("progress:percent_complete", 3.1415926535);
params.putString("book", "http://samples.ogp.me/344468272304428");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/id_from_create_call",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'POST',
  '/id_from_create_call',
  array (
    'progress:timestamp' => 1475229648,
    'progress:percent_complete' => 3.1415926535,
    'book' => 'http://samples.ogp.me/344468272304428',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
POST /v2.7/id_from_create_call HTTP/1.1
Host: graph.facebook.com

progress%3Atimestamp=1475229648&progress%3Apercent_complete=3.1415926535&book=http%3A%2F%2Fsamples.ogp.me%2F344468272304428
curl -X POST \
     -d "progress%3Atimestamp=1475229648&progress%3Apercent_complete=3.1415926535&book=http%3A%2F%2Fsamples.ogp.me%2F344468272304428" \
        https://graph.facebook.com/v2.7/id_from_create_call

Request

NameTypeDescription
FIELDS
bookReferenceThe object representing the book
progressArray<Progress>Describes how much of the book that a person has finished
progress:timestampDateTimeTime of a change in progress towards finishing the book
progress:percent_completeFloatPercentage progress towards finishing the book
INHERITED FIELDS
end_timeDateTimeThe time that the user ended
expires_inIntegerThe amount of time from the publish_time that the action will expire
messageStringA message attached to this action
placePlaceThe place that the action took place
refStringA <50 character string identifier for tracking and insights
tagsArray<Profile>Any other users that performed the action

Response

NameTypeDescription
idReadA Read action id
Delete
/* make the API call */
FB.api(
    "/id_from_create_call",
    "DELETE",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/id_from_create_call"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/id_from_create_call",
    null,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'DELETE',
  '/id_from_create_call'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
DELETE /v2.7/id_from_create_call HTTP/1.1
Host: graph.facebook.com
curl -X DELETE \
     -d "" \
        https://graph.facebook.com/v2.7/id_from_create_call

Request

NameTypeDescription
idReadA Read action id

Response

If successful, returns boolean true
true
If not successful, returns an error JSON object
{
  "error":
  {
    "message":ERROR_MESSAGE,
    "type":ERROR_TYPE,
    "code":ERROR_CODE
  }
}