2011-05-04 5 views
2

J'ai actuellement la méthode suivante qui crée un "url de partage" essentiellement le code à insérer dans un onclick = "" dans l'application.Comment créer le popup "share" dans une application iframe Facebook

Le problème est que maintenant nous ne pouvons plus avoir d'applications Facebook FBML, seulement iframe - y a-t-il une bibliothèque que je dois maintenant inclure pour que cela fonctionne? Ou devrais-je changer le code, j'ai googlé, mais les réponses sont très peu concluantes ou backhacks pour le forcer à travailler.

public function getShareUrl($title, $url, $caption, $description, $imageSrc, $shareButtonText = 'Share your thoughts!') 
{ 
    $url .= "var attachment = { 
        'name':'$title', 
        'href':'$url', 
        'caption':'$caption', 
        'description':'".$description."', 
        'media':[{ 
         'type':'image', 
         'src':'$imageSrc', 
         'href':'$url' 
        }] 
       }; 
       var actionLinks = [{ 
        'text':'Join the app now', 
        'href':'$url' 
       }]; 
       Facebook.streamPublish('', attachment, actionLinks, null, '$shareButtonText'); 
       return false;"; 
    return $url; 
} 

Merci à tous! :)

Répondre

11

Pour faire un pop-up d'actions apparaissent à l'intérieur de votre application Facebook, vous devez utiliser le SDK Javascript

vous pouvez le faire:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head> 
<title></title> 
</head> 
    <body> 
    <div id="fb-root"></div> 
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 
    FB.init({ 
    appId : 'yourappid', 
    status : true, 
    cookie : true, 
    xfbml : true 
    }); 
</script> 
<script type="text/javascript"> 
    function streamPublish(name, description, hrefTitle, hrefLink, userPrompt, imageSrc, imageUrl) { 
     FB.ui({ 
      method: 'stream.publish', 
      message: '', 
      attachment: { 
       media: [{ 
        type: 'image', 
        src: imageSrc, 
        href: imageUrl 
       }], 
       name: name, 
       caption: '', 
       description: (description), 
       href: hrefLink 
      }, 
      action_links: [{ 
       text: hrefTitle, 
       href: hrefLink 
      }], 
      user_prompt_message: userPrompt 
     }, function (response) { 
      // do something when you have posted 
     }); 
    } 

    function publishStream() { 
     streamPublish("Stream Publish", 'sample publish', 'do something cool', 'http://example.com', "My fb app", 'http://bit.ly/AJTnf', 'http://bit.ly/hifZk'); 
    } 
</script> 
<p>Stream Publish Test</p> 
<a href="#" onclick="publishStream(); return false;">Post a story</a> 
    </body> 
</html> 
+0

Je ne peux pas vous donner un « up ", mais je le ferais si mon représentant était assez haut. Je vous remercie! :) – udjamaflip

+0

John Ennis, quelle est la différence entre http://developers.facebook.com/docs/share/ et votre méthode décrite ci-dessus? – arkjoseph

Questions connexes