2010-01-03 3 views
3

J'essaie de créer des événements sur Facebook en utilisant Facebook Connect. Jusqu'à présent, leFacebook créer un événement

$appapikey = 'my key here'; 

$facebook = new Facebook($appapikey, 'my secret here'); 
$user = $facebook->require_login(); 
$fapi = $facebook->api_client; 

if(!$facebook->api_client->users_hasAppPermission('create_event')){ 
    echo'<script type="text/javascript">window.open("http://www.facebook.com/authorize.php?api_key='.$appapikey.'&v=1.0&ext_perm=create_event", "Permission");</script>'; 
    echo'<meta http-equiv="refresh" content="0; URL=javascript:history.back();">'; 
    exit; 
} 

$event_info = array(); 
$event_info['name'] = $_POST['name']; 
$event_info['category'] = 8; 
$event_info['subcategory'] = 36; 
$event_info['host'] = 'Me'; 
$event_info['location'] = $_POST['location']; 
$event_info['email'] = $_POST['email']; 
$event_info['phone'] = $_POST['phone']; 
$event_info['description'] = $_POST['description']; 
$event_info['city'] = $_POST['city']; 
if($_POST['start_time_ampm'] == 'PM'){ 
    $_POST['start_time_hour'] = $_POST['start_time_hour'] + 12; 
} 
if($_POST['end_time_ampm'] == 'PM'){ 
    $_POST['end_time_hour'] = $_POST['end_time_hour'] + 12; 
} 

$event_info['start_time'] = mktime($_POST['start_time_hour'],$_POST['start_time_min'],00,$_POST['start_time_month'],$_POST['start_time_day'],$_POST['start_time_year']); //Converts time to UTC 
$event_info['end_time'] = mktime($_POST['end_time_hour'],$_POST['end_time_min'],00,$_POST['end_time_month'],$_POST['end_time_day'],$_POST['end_time_year']); 



try{ 
    echo json_encode($_POST); 
    $event_id = $fapi->events_create($event_info); 
    $sql = "INSERT into events (EventId) values('$event_id')"; 
    $result = mysql_query($sql) or die("can't select events<br>$sql".mysql_error()); 
    echo 'Event Created!'; 
} 

Tout cela fonctionne très bien, mais le retour event_id est toujours le même pour les différents événements. Quand je regarde dans mon compte Facebook, l'événement a été ajouté avec succès, mais l'identifiant est totalement différent. Une idée de ce que je peux faire de mal?

J'ai trouvé ce problème. C'était parce que mon champ de base de données était réglé sur un int et malheureusement, les identifiants de Facebook étaient trop longs.

Répondre

3

Je compris cette question. C'était parce que mon champ de base de données était réglé sur un int et malheureusement, les identifiants de Facebook étaient trop longs. Je devais juste changer le type de champ.

0

Au lieu de:

$event_id = $fapi->events_create($event_info); 

Je pense que vous voulez:

$event_id = $facebook->api_client->events_create($event_info); 
+0

Eh bien, $ fapi est actuellement $ fapi = $ facebook-> api_client; – Dhana

+0

l'essayer de toute façon, juste pour voir –

+0

il retourne toujours le même id avec ce changement – Dhana

0

Le paramètre à events_create() doit être une chaîne codée JSON. Changer ceci:

$event_id = $fapi->events_create($event_info); 

à ceci:

$event_id = $fapi->events_create(json_encode($event_info)); 
+0

Essayé aussi, l'événement est ajouté avec succès, mais eventid est toujours le même – Dhana

Questions connexes