La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 14/05/2012 13:30:07

vortex
Membre
Date d'inscription: 14/05/2012
Messages: 2

Appli fan gate Facebook/PHP iFrame

Bonjour à tous,

Je suis nouveau dans la communauté.
Je vous présente mon problème après 48H de recherches et d'essais infructueux...et là j'avoue ne plus comprendre gran chose ni savoir où aller.

Je voudrais faire quelque chose de très simple dans la théorie :
Une page Facebook dont le contenu change en fonction de si on est fan ou pas (il s'agira en pratique d'un jeu avec tirage au sort des gagnants et pour s'y inscrire il faut être fan d'abord).
1er cas : l'utilisateur n'est pas fan...dans ce cas je l'incite à le devenir pour acceder à la suite du contenu
2nd cas : l'utilisateur est devenu fan de la page et il a accès à un formulaire PHP/HTML standard ensuite

Ce que j'ai réussi à mettre en place :

- J'ai un site Internet externe qui heberge la dernière version du kit API PHP/Facebook (facebook / php-sdk  github) dans un répertoire dédié à cette application : http://monsite.com/jeufbk/
- Dans ce répertoire sur le site Internet, j'ai une page index.php qui contient ça :

<?
require ('./src/facebook.php');

$facebook = new Facebook(array(
    'appId' => 'mon _appid',
    'secret' => 'mon_secret',
    'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$liked = $signed_request['page']['liked'];


//DEBUG
print_r($facebook);

echo "<BR><BR>\n\n";
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
echo "<br>page id = $page_id";
echo "<br>page admin = $page_admin";
echo "<br>like status = $like_status";
echo "<br>country = $country";
echo "<br>locale = $locale";
//FIN DEBUG


if($liked)
{
    echo "Contenu reserve aux fans...\n";
}
else
{
    echo "Contenu public...\n";
}

?>
<BR>
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fapps.facebook.com%2FMONAPPLI&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21&amp;appId=MONAPPID" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>
<BR>



- Au préalable j'avais créé une application via le site de developpement Facebook avec les paramètres suivants :
URL du canevas : http://monsite.com/jeufbk/
Page Tab URL : http://monsite.com/jeufbk/

- Lorsqu'en étant connecté sous un compte FBK qui n'a rien à voir avec celui de l'application créée, je fais appelle à la page facebook de l'application (http://apps.facebook.com/nomdemonappli), je ne récupère pas les données utilisateur et en particulier la seule qui m'intéresse, ['page']['liked']...qui me permet de savoir si la personne a "liké" la page en question.

Je reçois cette page :

Facebook Object ( [appId:protected] => MONAPPID [appSecret:protected] => MONSECRET [user:protected] => [signedRequest:protected] => Array ( [algorithm] => HMAC-SHA256 [issued_at] => 1336994386 [user] => Array ( [country] => fr [locale] => fr_FR [age] => Array ( [min] => 21 ) ) ) [state:protected] => [accessToken:protected] => [fileUploadSupport:protected] => )


page id =
page admin =
like status =
country = fr
locale = fr_FRContenu public...


En gros, l'info qui m'intéresse n'est pas remplie....et je ne comprends pas pourquoi.

J'ai eu des galères de niveau de PHP...je tourne en PHP 5.2 maintenant qui semble compatible avec ce fonctionnement.
En lisant beaucoup de récits d'expériences similaires, j'ai compris que ce genre de problème venait de l'URL saisie dans "URL du canevas" et dans " Page Tab URL"...mais moi j'ai dans les 2 champs "http://monsite.com/jeufbk/" et c'est la bonne URL.

J'ai même sorti un sniffer réseau pour voir ce qu'il se passe lorsque mon navigateur fait la requête HTTP http://apps.facebook.com/nomdemonappli ou http://monsite.com/jeufbk/ et je reçois bien une réponse 200 OK...il n'y a pas de redirection par exemple qui pourrait expliquer un problème de ce type.

Franchement, qui a réussi à faire fonctionner un système pareil parce que je ne vois plus...?
Avez-vous une piste à me suggérer? Je n'ai plus vraiment d'idée.

Merci à vous par avance.
Laurent

Hors ligne

 

14/05/2012 13:30:07

Botte De Foin Publicitaire


#2 15/05/2012 14:22:24

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Appli fan gate Facebook/PHP iFrame

Au final quelle est ta question ? big_smile

Hors ligne

 

#3 15/05/2012 14:46:06

vortex
Membre
Date d'inscription: 14/05/2012
Messages: 2

Re: Appli fan gate Facebook/PHP iFrame

Au final, je ne comprends pas pourquoi ça ne fonctionne pas.

En gros, je souhaite faire la même chose que ça :
https://www.facebook.com/PainGril/app_190322544333196
https://www.facebook.com/mrpropre?sk=ap … 7990992250
https://www.facebook.com/motorolafrance … 4183662252

On arrive sur une page facebook.
Si on a pas encore cliqué sur "J'aime" on affiche un certain contenu...
Si on clique sur "J'aime" on affiche un autre contenu (qui donne en pratique accès à un formulaire HTML/PHP par exemple pour participer à un jeu concours...)

Le problème c'est que je n'arrive pas à récupérer l'information "J'aime" ou pas...alors qu'elle se trouve normalement dans ['page']['liked']...

Une idée?
Merci par avance...je suis toujours bloqué.

Hors ligne

 

#4 06/06/2012 12:50:51

will83
Membre
Date d'inscription: 25/05/2011
Messages: 2

Re: Appli fan gate Facebook/PHP iFrame

Je reprend ma réponse, il semble que je tienne quelque chose :
- J'ai placé mon appli sur un serveur dédié de type kimsufi
- J'ai déplacé sur un mutu OVH tout ce qu'il y a de plus simple
- Ca fonctionne

Il semble donc qu'il y ait un problème au niveau du serveur, il me semble qu'il doit y avoir un réglage à faire dans le PHP.ini

Dernière modification par will83 (06/06/2012 12:57:02)

Hors ligne

 

#5 09/10/2012 15:17:36

ThomasBK
Membre
Date d'inscription: 24/09/2012
Messages: 2

Re: Appli fan gate Facebook/PHP iFrame

Bonjour,

J'ai galérer pas mal de temps sur ce problème et après une déduction logique j'ai fini par trouver le problème.

Si le tablo page ne vous est pas retourné, c'est qu'il ne sais pas quel est la page en question. Comme aucun appel api de facebook ne permet de link une page, il ne reste plus qu'une solution. Votre application doit tourner dans un onglet de page pour afficher c'est informations. Ce qui est logique, mais quand on commence avec l’environnement facebook, pas évident à comprendre desuite.

En claire, associé votre appli à votre page facebook.

Hors ligne

 

Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net