Bonjour,
je m’intéresse à la création d'une application facebook et n'ayant pas trouvé de ressources spécialisé à part le forum officiel qui est spamer de demandes et avec lequel je n'ai pas eu de réponse; pourtant mes questions sont très simples.

Je souhaite créer un quiz accessible uniquement aux personnes qui ont "liker" une certaine page.
Le quiz sera composé de 3 questions.
A la fin du quiz (1 semaine) des cadeaux pour les gagnants.

Le développement ne me fait vraiment pas peur. En écrivant ce post j'aspire à éviter la réinvention de la roue ou de partir sur de mauvaises pistes. Je cherche le moyen le plus simple et le plus pertinent, juste un aiguillage.

(j'ai trouvé ce post : http://www.sundeepmachado.com/2009/11/create-your-own-quiz-application-on.html <-- je ne crois pas qu'on puisse taper dans le code du quiz ainsi généré afin par exemple de changer le design ou de vérifier si l'utilisateur a bien "liker" la page, sans en être sûr)
Modifié par Su4p (21 Aug 2013 - 15:58)
Hello,

Ben je sais pas si tu auras bien davantage de réponses ici vu que je ne vois pas de question dans ton message… Smiley sweatdrop

a écrit :
[…] et avec lequel je n'ai pas eu de réponse; pourtant mes questions sont très simples.
@audrasjb : merci pour ta réponse.
La question est : Comment dans les grandes lignes m'y prendre ?

Vérifier si utilisateur "like" la page
Poser 1 question
Lorsque le quiz est terminé afficher les réponses
Modifié par Su4p (21 Aug 2013 - 16:51)
Pour la petite histoire :
une application facebook se fait en standalone sur votre hébergement. Apres avoir finaliser la procédure de création de compte développeur on donne l'url de l'hebergement pour l'application, on intègre le facebook sdk sur notre application et c'est parti pour faire mumuse avec les requêtes !!
exemple :

header('Content-type: text/html; charset=utf-8');
require 'facebook/src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => 'xxx',
  'secret' => 'xxx',
));
$currentUser = $facebook->getUser();
 
if($currentUser)
{
    try
    {
        $facebook_profile = $facebook->api('/me');
    }
    catch (FacebookApiException $e)
    {
        print_r($e);
        $user = null;
    }
}
 
$result = $facebook->api(array(
    "method"    => "fql.query",
    "query"     => "SELECT url FROM url_like  WHERE user_id=".$facebook_profile["id"]
));
echo '<pre>';
print_r($result);
echo '</pre>';
$result = $facebook->api(array(
    "method"    => "fql.query",
    "query"     => "SELECT notification_id, sender_id, title_html, body_html, href FROM notification WHERE recipient_id=".$facebook_profile["id"]
));
echo '<pre>';
print_r($result);
echo '</pre>';
$result = $facebook->api(array(
    "method"    => "fql.query",
    "query"     => "SELECT page_id,profile_section,type FROM page_fan WHERE uid=512928035".$facebook_profile["id"]
));
echo '<pre>';
print_r($result);
echo '</pre>';
$friends = $facebook->api('/me/friends');
echo '<pre>';
print_r($friends);
echo '</pre>';

Modifié par Su4p (22 Aug 2013 - 16:48)
Bonjour,

je suis ton sujet parce que je suis curieuse Smiley langue

et donc pour tester si le compte est fan de ta page c'est dans : $friends = $facebook->api('/me/friends'); ???

et comment tu fais pour relier un bulletin à un compte ? tu retiens le compteID au moment de "l'inscription" ?
pour tester si le compte est fan d'une page il faut récupérer l'id de la page et après :

$response = $facebook->api(array(
     'method' => 'fql.query',
     'query' =>'SELECT created_time FROM page_fan WHERE uid = '.$user['id'].' AND page_id = 123456789' 
 ));


qu'entends tu par "relier un bulletin à un compte" ?
Eh bien si j'ai bien compris c'est une inscription à un jeu concours ; et cette inscription tu vas la gérer dans ton application facebook.

Je me demandais donc dans ton application ; comment est ce que tu pour obtenir l'ID Compte que tu rattacheras à cette inscription ?

$user = $facebook->getUser();
$user['id'] // contient l'id facebook de l'utilisateur

ez win Smiley cligne
Par contre il me reste un problème : lors de l'acceptation des autorisations par l'utilisateur, celui-ci se voit rediriger sur mon serveur, il ne reste pas sur Facebook, une fois autorisé tout fonctionne à merveille.
PS: obligatoire il te faut un accès HTTPS à ton application sinon elle ne fonctionnera pas.

Je te propose d'essayer si tu as un serveur web à disposition, c'est très rapide (si tu as un compte) tu vas sur fb tu vas dans le menu en haut à droite --> créer une application et tu te laisses guider.
Oui je connais l'onglet j'ai déjà créer ma petite application ; j'ai fait quelques tests déjà mais jamais autant poussé que le tiens ; donc tu as éveillé ma curiosité mais maintenant que tu le dis c'est ce que j'utilisais aussi dans la mienne ;


$user = $facebook->getUser();
$user['id']


et pour tes bulletins tu les enregistres sur ta BDD personnelle ?
Je vais essayer le SDK javascript qui me semble plus élégant. J'ai réussi à régler le problème de changement de domaine, il s'agissait en réalité du comportement normal du SDK.
Pour le modifier :

$facebook->getLoginUrl(array(
'scope' => 'email,offline_access,publish_stream',
'redirect_uri'=>'https://apss.facebook/monApplication'
)); 


Il suffit de renseigner le paramètre redirect_uri
Modifié par Su4p (28 Aug 2013 - 18:38)
Je confirme que le SDK javascript est bien mieux : en 3 copier/coller j'arrive à faire ce que je veux.