How To: Check Status And RSVP To Facebook Events Using Graph API & FQL
After learning how to create Facebook events using the Graph API, it’s time now to learn how to RSVP to Facebook events and how to check the user’s RSVP status to an event.
Permissions
First things first, you need the rsvp_event permission to be able to RSVP to events.
Check the user’s RSVP status
Checking if the user is attending an event or not is quite simple:
$query = "SELECT rsvp_status FROM event_member WHERE eid=$EVENT_ID AND uid=me()"; $fql_url = "https://api.facebook.com/method/fql.query?" . "query=" . urlencode($query) . "&format=json" . "&" . $access_token; $fql_resp = json_decode(file_get_contents($fql_url)); $rsvp_status = $fql_resp[0]->rsvp_status;
As mentioned in the event_member table documentation this would return attending, unsure, declined or not_replied.
Back to topNote
You can always replaceme()with the user id and also use an infiniteaccess_token(by requesting theoffline_accesspermission) if the user may not be online.
RSVP to an event
Issuing a call to the Graph API with the RSVP status is all you need:
curl -d “access_token=XXX”
https://graph.facebook.com/EVENT_ID/{attending|maybe|declined}
And here’s a simple example to get you started:
<?php
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$my_url = "REDIRECT_URI";
$event_id = "EVENT_ID";
$rsvp_status = "";
$code = $_REQUEST["code"];
if(empty($code)) {
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&scope=rsvp_event";
echo("<script>top.location.href='" . $auth_url . "'</script>");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$access_token = file_get_contents($token_url);
if( isset($_POST['rsvp']) ) {
// Form submitted, call the Graph API to RSVP to the event
$event_rsvp = "https://graph.facebook.com/$event_id/{$_POST['rsvp']}?method=post&" . $access_token;
$rsvped = json_decode(file_get_contents($event_rsvp));
if($rsvped) {
$msg = "Your RSVP status is now <strong>{$_POST['rsvp']}</strong>";
$rsvp_status = $_POST['rsvp'];
}
}
if( !$rsvp_status ) {
$query = "SELECT rsvp_status FROM event_member WHERE eid=$event_id AND uid=me()";
$fql_url = "https://api.facebook.com/method/fql.query?"
. "query=" . urlencode($query)
. "&format=json"
. "&" . $access_token;
$fql_resp = json_decode(file_get_contents($fql_url));
$rsvp_status = $fql_resp[0]->rsvp_status;
}
?>
<!doctype html>
<html>
<head>
<title>Create An Event</title>
<style>
label {float: left; width: 100px;}
input[type=text],textarea {width: 210px;}
#msg {border: 1px solid #000; padding: 5px; color: red;}
</style>
</head>
<body>
<?php if( isset($msg) ) { ?>
<p id="msg"><?php echo $msg; ?></p>
<?php } ?>
<form action="" method="post">
<p>
<label for="privacy_type">RSVP:</label>
<input type="radio" name="rsvp" value="attending" <?php if($rsvp_status==="attending") echo "checked='checked'"; ?>/>Attending
<input type="radio" name="rsvp" value="maybe" <?php if($rsvp_status==="maybe" || $rsvp_status==="unsure") echo "checked='checked'"; ?>/>Maybe
<input type="radio" name="rsvp" value="declined" <?php if($rsvp_status==="declined") echo "checked='checked'"; ?>/>Not Attending
</p>
<p><input type="submit" value="RSVP to this event" /></p>
</form>
</body>
</html>Back to top- Brunoguic
- http://www.masteringapi.com Ibrahim Faour
- Brunoguic
- http://www.masteringapi.com Ibrahim Faour
- Brunoguic
- http://www.masteringapi.com Ibrahim Faour
- http://www.masteringapi.com Ibrahim Faour
- Oliver
- Altinnovation
- Avi
Table of contents
Advertisment
Recent Tutorials
- How To: Create A User Photo Albums Browser Using Facebook Graph API
- How To: Upload A Photo To A User’s Profile Using Facebook Graph API
- How To: Check Status And RSVP To Facebook Events Using Graph API & FQL
- Facebook Javascript SDK Best Practices
- How To: Create Facebook Events Using Graph API – Advanced






