Je me bats depuis un jour ou deux et je ne peux pas savoir où est l'erreur. Je construis un site web pour un ami qui organise cette grande fête une ou deux fois par mois. Je veux qu'il puisse créer un événement sur le site Web et envoyer cet événement à Facebook en utilisant le fb php sdk api. J'ai eu des choses fonctionnant aussi loin que la création de l'événement sur le site Web lui-même. J'ai créé un événement en utilisant le php sdk. Cependant, la combinaison de ces deux est là où le problème commence. Théoriquement, quand je veux envoyer l'événement à facebook, j'utilise l'identifiant de l'événement sur la base de données du site pour rassembler l'information, l'insérer dans des variables, puis envoyer ces variables via array à l'api. J'obtiens cependant une erreur " OAuthException: (#100) Invalid parameter "
.OAuthException: (# 100) Paramètre invalide
Prenant en considération le fait que conecting à fb et obtenir l'accès Jeton fonctionne correctement et je retreiving les informations correctes à partir de la base de données ceci est mon code:
// - image upload
$createEventCover = http://www.mywebsite.com/flyer/flyer.jpg
$createEvent[basename($createEventCover)] = "@".realpath($createEventCover);
// - textual data
$createEvent = array(
'access_token' => $accessToken,
'name' => $createEventName,
'start_time' => $createEventStartTime,
'end_time' => $createEventEndTime,
'description' => $createEventDescription,
'location_id' => $createEventLocation_id,
'privacy_type' => $createEventPrivacy_type
);
// connect with api and create event.
try {
$eventCreate = $FaceBook -> api("/me/events", "post", $createEvent);
$facebookEventId = $eventCreate['id'];
$cover['cover_url'] = $createEventCover;
$eventUpdate = $facebook->api("/" . $eventCreate['id'], "post", $cover);
//$eventUpdate = $FaceBook -> api("/".$facebookEventId, "post", $createEventCover);
echo "<script>window.open('https://www.facebook.com/events/".$facebookEventId."/','_blank')</script>\n";
} catch(FacebookApiException $e){
echo "//event creation error\n";
echo "<br />\n";
echo "<br />".$e."<br />\n";
}
avant d'envoyer les informations au tableau Je fais écho à tout ce que je sais que j'ai les bonnes données envoyées à la bonne place et tout semble correspondre. Lorsque je remplis le tableau avec des données textuelles au lieu des variables php, par exemple "name" => "testevent"
au lieu de "name" => $testevent,
l'événement est créé. dès que j'utilise le "nom" => $ testevent, au lieu du "name" => "testevent",
j'obtiens l'erreur.
J'ai déjà dévoré google et mangé la moitié de stacoverflow en vain. quelqu'un peut-il m'aider avec ceci?
Sincères salutations
selon la demande de @CBroe. J'ai un print_r de createEvent $:
Array
(
[access_token] => *removed*
[name] => testevent
[start_time] => DateTime Object
(
[date] => 2015-05-19 23:30:00
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[end_time] => DateTime Object
(
[date] => 2015-05-19 04:00:00
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[description] => Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.
[location_id] => 260864353982110
[privacy_type] => SECRET
)
c'est lorsque la création d'événements échoue maintenant avec une erreur: "OAuthException: (# 100) Param EVENT_INFO-start_time doit être un temps valide"
esprit Cela ne se produit que lorsque j'insère les heures via une variable. Une fois que je remplace les variables par une date de texte 2015-05-19T23:30:00+0200
l'événement get créé regulaarly je suis en train de convertir la date à ISO8601 en utilisant
$FBcreateEventStartTime = new DateTime($createEventStartTime);
$FBcreateEventStartTime -> format(DateTime::ISO8601);
avec le même pour endtime et dans le tableau que je l'ai montré dans le code innitial je bien sûr remplacé
'start_time' => $createEventStartTime,
'end_time' => $createEventEndTime,
par
'start_time' => $FBcreateEventStartTime,
'end_time' => $FBcreateEventEndTime,
personne ne peut vous aider? – vasco
Faites un simple 'var_dump' de' $ createEvent', et montrez-nous le résultat. (Dans un format lisible.) – CBroe
@cbroe: J'ai édité mon post avec un print_r de $ createEvent et quelques autres choses. – vasco