Développement d'une application Facebook

Nouveau WRInaute
Bonjour
Je me permets un petit message mais je ne suis pas sur d'être dans la bonne catégorie...
Voila, je suis en train de développer une application Facebook pour un site et je rencontre des difficultés au niveau du formulaire d'invitation.
Dans la documentation Facebook, il est indiqué qu'il faut ajouter le code qui est indiqué au lien suivant :
http://wiki.developers.facebook.com/index.php/Fb:request-form
Je ne le recopie pas ici parce que les retour à la ligne ne s'affichent pas.

Mon problème est le suivant: où faut il rajouter ce bout de code?
Est ce sur un fichier extérieur ou à l'intérieur même de la page? et dans ce cas comment le rendre fonctionnel?
J'ai un peu de mal avec le FBML alors j'aurai souhaité le faire en php mais je ne vois pas du tout où il faut l'insérer... La documentation est en anglais et j'ai vraiment du mal à retrouver l'information dont j'ai besoin.

Certains d'entre vous ont-ils déjà effectués ce genre de chose?
Je vous remercie
 
WRInaute discret
Bonjour,

Je viens de faire ça hier et l’invitation d’exemple en PHP marche niquel
Il faut créer une nouvelle page (par exemple invite.php) dans laquelle tu place ton code.

Ensuite si t’as pas toucher à l’architecture de base des fichiers, veille bien a corriger le :

Code:
require_once 'facebook.php';
en
Code:
require_once 'client/facebook.php';

Pour finir, il te suffit d’appeler la page d’invitation par un simple lien /invite/ et non /invite.php :

Code:
http://apps.facebook.com/ton-app/invite/

En espérant que ça puisse t'aider :)
 
WRInaute discret
Petit précision encore, par défaut la variable action pour le skip n'est pas renseignée. Si tu veux être conforme aux guidelines FB pour que ton application soit acceptée dans le répertoire il faut que tu la configure sinon tu va te prendre des reports de forced invite.. et ça c'est pas bon :?
 
Nouveau WRInaute
:?
J'ai vraiment du mal je crois...
Si je résume la situation:
-j'ai mon application qui se trouve sur http://apps.facebook.com/mon-app/
-cette application est stockée sur http://www.monsite.com/mon-app/index.php (par exemple)
-mon formulaire d'application, je le mets sur http://www.monsite.com/mon-app/invite.php
-je mets un lien sur mon application vers http://apps.facebook.com/mon-app/invite/? ou vers http://apps.facebook.com/mon-app/invite.php? ou vers http://www.monsite.com/mon-app/invite.php?

Parce que j'essaye toutes les solutions mais ya rien qui fonctionne... :cry:

C'est possible que le problème soit devant le clavier aussi... est ce que quelqu'un peut m'éclairer?
Merci beaucoup
 
Nouveau WRInaute
Je me permets de préciser ma question:
J'ai fait un petit schéma
facebook.jpg


Je souhaiterai donc savoir à quel moment intervient le fichier donné en exemple, si l'on doit le déclarer auprès de Facebook en amont ou si un lien depuis la page elle même suffit?
 
WRInaute discret
Désolé de n'avoir pas répondu + tôt

J'ai dû mal à comprendre ce que tu ne comprend pas ?

Les 3 premiers points sont justes, le fichier invite.php doit se trouver (sur ton site) dans le même répertoire que ton index.php, c'est Ok

Puis dans ton fichier index.php il suffit d'appeler ton fichier invite.php comme dans l'exemple ci-dessous :

Code:
<fb:tabs>  
<fb:tab-item href='http://apps.facebook.com/ton-app/' title='Index de ton app' />  
<fb:tab-item href='http://apps.facebook.com/ton-app/invite/' title='Invitation pour ton app' />  
</fb:tabs>

N'hésite pas à poster ton code ou envoyer l'url si ça ne fonctionne toujours pas :wink:
 
Nouveau WRInaute
Je ne comprends pas parce que rien n'apparait sur mon application...
Elle est en iframe dans Facebook parce que c'est un petit jeu flash et le code est le suivant:
Code:
<center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="630" height="480">
  <param name="movie" value="application-flash.swf">
  <param name=quality value=high>
  <embed src="application-flash.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="630" height="480"></embed>
</object>
</center>

Si je rajoute le code que tu m'as donné, il apparait bien dans la source mais rien ne s'affiche...
Faut-il que je passe mon index.php en FBML?
 
Nouveau WRInaute
J'ai oublié de dire que j'avais aussi le code suivant sur la page:
Code:
<?php
require_once '../facebook-platform/php4client/facebook.php';

$appapikey = 'clef';
$appsecret = 'clefsecrete';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();

?>
 
WRInaute discret
Aïe bin je peux pas t'aider alors, je n'ai jamais essayé avec les iframes... Peut être que c'est ça le problème :|
 
Nouveau WRInaute
Ok, c'est bien ce qui me semblait, c'est le fait que ce soit une iframe qui fait palnter le truc...
Comment est ce qu'on écrit une page toute simple avec une application Flash au milieu en FBML?
Ou plus largement ma question, ce serait comment articuler une page en FBML?
Est ce que l'on peut y intégrer du PHP de la même façon?
Merci
:mrgreen:
 
Nouveau WRInaute
Je me réponds à moi même parce que j'ai trouvé la solution et que ça pourra peut être servir à d'autres.
En fait pour faire des applications flash en FBML, il faut utiliser le code suivant:
Code:
<?php

require_once '../facebook-platform/php4client/facebook.php';

define('FB_API_KEY', 'votre clef FBK');
define('FB_SECRET_KEY', 'votre clef secrete');


$facebook = new Facebook(FB_API_KEY, FB_SECRET_KEY);

$user = $facebook->require_login();
$friends = $facebook->api_client->friends_get();

$users = $facebook->api_client->users_getInfo($friends, array('uid', 'name'));

// Requètes PHP en cas d'invitation

if (isset($_GET['action']) && isset($_GET['pid']) && $_GET['action'] == 'envoyer') {

	
	// Notification au destinataire
	$zeuser = $facebook->api_client->users_getInfo($_GET['pid'], array('name'));
	$facebook->api_client->notifications_send(array($_GET['pid']), ' vous a invit&eacute; &agrave; <a href="http://apps.facebook.com/votre application/">votre application</a>', '<fb:notif-subject>Vous avez &eacute;t&eacute; invit&eacute; &agrave; votre application </fb:notif-subject>', ' vous a invit&eacute; en <a href="http://apps.facebook.com/votre application/">votre application</a>');
}

?>
//Déclaration des styles facebook de l'invitation
<style type="text/css">  
     .container { padding:10px; }
     .friendlist { list-style: none }
     .friendlist li  { float: left; text-align: center; width: 60px; height: 100px; margin: 3px;  }  
     .friendlist li img  { clear: both;  }  
     .friendlist li a { font-size: 7pt; text-decoration: none; }
     .boulette { font-weight: bold; font-size: 12pt; }
</style>  

// Déclaration de l'application flash
<fb:swf 
	swfbgcolor="000000" 
	imgstyle="border-width:3px; border-color:white;" 
	swfsrc='http://www.votre-adresse.com/votreswf.swf' 
	imgsrc='http://www.votre-adresse.com/images-illustration-en-cas-de-non-prise-en-charge.jpg' 
	width='630' height='480' 
/> 


// boutons pour inviter des gens
<br><br>
<fb:tabs>  
    <fb:tab-item href="http://apps.facebook.com/votre application/index.php?action=envoyer" title="Inviter un(e) ami(e) à votre application" <?php echo (isset($_GET['action']) && $_GET['action'] == 'envoyer' ? 'selected="true"' : '') ?> />  
</fb:tabs>  
   
<div class="container">

<?php
	if (isset($error) && $error != '') {
?>
	<fb:error>  
		<fb:message>Erreur de l'application</fb:message>  
		<?php echo $error; ?>
	</fb:error>
<?php
	}

// message affiché en cas d'invitation	
	if (!isset($_GET['action']) || ($_GET['action'] == 'envoyer' && !isset($_GET['pid']))) {
?>
	<fb:explanation>  
		<fb:message>Invitation d'un ami</fb:message>  
		Cliquez sur un(e) ami(e) pour l'inviter ! 
	</fb:explanation>

	<ul class="friendlist">  
	    <?php foreach ($users as $user):?>  
	        <li><a href="http://apps.facebook.com/votre application/index.php?action=envoyer&amp;pid=<?php echo $user['uid']; ?>"><fb:profile-pic uid="<?php echo $user['uid'];?>" size="square" /><?php echo $user['name']; ?></a></li>  
	    <?php endforeach;?>  
	</ul>  
<?php
	} else if ($_GET['action'] == 'envoyer' && isset($_GET['pid'])) {
?>
	<fb:success>  
		<fb:message>Voil&agrave; !</fb:message>  
		Vous avez invit&eacute; <strong><?php echo $zeuser[0]['name']; ?> sur votre application avec succ&egrave;s</strong>
		<br><a href="http://apps.facebook.com/votre application/">Invitez un(e) autre ami(e)</a>
	</fb:success>
<?php
	}
?>
Ce système fonctionne correctement pour inviter une personne à la fois.

Vous pouvez l'essayer en testant l'application suivante: http://apps.facebook.com/weekend-casablanca/
Si vous voyez des bugs , n'hésitez pas à me le signaler
:wink:
Merci encore pour l'aide apportée
 
Discussions similaires
Haut