2010-01-23 4 views
3

Je ne l'ai pas essayé de jouer avec l'API PHP facebook pendant des mois. Étant donné que les groupes de modèles sont apparemment disparus, comment puis-je publier une histoire dans le flux de nouvelles de mes utilisateurs pour leurs amis? J'ai également demandé des autorisations.Facebook stream.publish et paquets de modèles obsolètes?

Edit: Le problème semble provenir des autorisations demandées ne sont pas définies pour l'utilisateur lors de leur octroi.

Jusqu'à présent, j'ai ce

$appapikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
$appsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
$facebook = new Facebook($appapikey, $appsecret); 
$fb_user = $facebook->require_login(); 

try { 
    $facebook->api_client->feed_publishUserAction(); 
} catch(Exception $e) { } 

Edit: Je l'ai regardé à travers le facebook « documentation api » plusieurs fois, il est tout simplement pas clair pour moi. Je ne peux pas dire ce qui est réellement déprécié ou non. Ils lien vers des tutoriels 2-3 ans!

Si vous avez un problème avec votre application iframe rechargeant à plusieurs reprises et plus essayer d'utiliser

$facebook->require_frame() 

Répondre

1

Avez-vous déjà regardé le sujet sur le wiki facebook? http://wiki.developers.facebook.com/index.php/Stream.publish

Il y a un bel exemple qui devrait vous aider. Sinon, vous devrez décrire votre problème plus précisément.

EDIT: Vous pouvez vérifier et demander les autorisations comme celui-ci (et aussi demander leur)

function check_perms() { 

    global $facebook, $uid; 

    $data = $facebook->api_client->fql_query("SELECT uid, publish_stream FROM permissions WHERE uid = " . $uid); 
    if($data[0]['publish_stream'] != true) { 
     echo '<br /><p>No \'publish_stream\' permissons found!<br />'; 
     echo '<fb:prompt-permission perms="publish_stream"> Allow me to publish to your wall (*click*) </fb:prompt-permission>'; 
     echo '<br />You\'ll have to refresh the page to continue.</p>'; 
     die(); 
    } 

} 
+0

Avec votre suggestion que je essayé simplement en utilisant l'exemple qu'ils ont fourni. et a tenté de transmettre ma demande sur un formulaire et soumettre vient de mourir parce que je ne les permissions ont de l'utilisateur (moi-même) Si vous pouviez me dire ce que les autorisations de demander lorsqu'un utilisateur utilise mon application? lien vers mon application est http://apps.facebook.com/mynamemeanswhat – AFK

+0

Après avoir demandé stream_publish pour moi-même à l'aide de mon application, j'ai vérifié les permissions que j'avais avec l'application, et il est seulement une des histoires de ligne .. comment puis-je demander autorisations pour les histoires multilignes comme indiqué dans les exemples? – AFK

+0

J'ai mis à jour ma réponse :) – svens

1
<?php 
      $message ="Your Message"; 
      $attachment = array( 
      'name' => 'Application Name or message', 
      'href' => 'http://apps.facebook.com/tshirtquote', 
      'description' => 'Choose/Write your T-shirt Quote, Get A Tshirt Free printed with your Favorite Quote', 
      'media' => array(array('type' => 'image', 'src' => 'http://linkdoo.com/tshirtquote/images/tshirt1.JPG', 'href' => 'http://apps.facebook.com/tshirtquote/')), 
      ); 
      $action_links = array(array('text' => 'WriteYourTShirtQuote', 'href' => 'http://apps.facebook.com/tshirtquote')); 
      $attachment = json_encode($attachment); 
      $action_links = json_encode($action_links); 
      $message = json_encode($message); 
     ?> 
    <script> 
    var attachment = <?= $attachment ?>; 
    var message = <?= $message ?>; 
    var action_links = <?= $action_links ?>; 
    Facebook.streamPublish(message,attachment,action_links); 

    </script> 

utilisation ci-dessus script, il est beaucoup plus facile de publier

+0

Quel est le script? Est-ce Javascript? Cela a fonctionné quand c'était un dossier par lui-même, mais quand je l'ai ajouté à mon dossier réel de PHP ... il échoue sans erreur. –

Questions connexes