1

Je fais une demande de cadeau très simple sur Facebook. Le principal problème ici est comment notifier à l'utilisateur qui n'utilise pas l'application sur le fait que son ami lui envoie un cadeau? Comme les notifications sont désactivées sur l'ancienne API REST et stream.publish ne fonctionnera pas sur les amis qui n'ont pas autorisé à poster sur leur mur, je suis confus.Comment poster un article de fil dans le mur d'un ami via Graph API

if (!empty($_REQUEST["ids"])) { 
    $friends = (isset($_REQUEST["ids"])) ? $_REQUEST["ids"] : 0; 

    if (empty($_POST['giftname'])) { 
     $gname = '1.gif'; 
    } else { 
     $gname = $this->input->post('giftname'); 
    } 
    //$this->app_model->send_gift($user, $friends, $gname,$facebook); 
    //$this->app_model->send_gift($user, $friends, $gname,$facebook); 
    $to=$friends; 
    $from=$user; 
    $gift=$gname; 

    $total_send=count($friends); 

    for ($x=0; $x<$total_send; $x++) { 

     $this->db->query("INSERT INTO gifts (`giftfrom`, `giftto`, `gname`) VALUES($from, $to[$x], \"$gift\")"); 

     try { 
      // Send notification 
      //$facebook->api_client->notifications_send($to[$x], 'sent you a gift using <a href="http://apps.facebook.com/tsaxikner/">Հայկական Նվերներ</a>. <a href="http://apps.facebook.com/tsaxikner/">Ստանալ Նվերը</a>.'); 

      // Publish feed story 
      $feed_body = '<fb:userlink uid="'.$from.'" shownetwork="false"/>-ը նվեր է ուղարկել <fb:name uid="'.$to[$x].'"/>-ին <a href="http://apps.facebook.com/tsaxikner/">Հայկական Նվերներ</a>-ի միջոցով.'; 

      $feed_body = 'Ստուգեք <a href="http://apps.facebook.com/tsaxikner/"> <fb:name uid="'.$to[$x].'" firstnameonly="true" possessive="true"/> Հայկական Նվերներ</a>.'; 

      //$facebook->api_client->feed_publishActionOfUser($feed_title, $feed_body); 
      $facebook->api_client->make_wall_post($user,$to[$x],$feed_body); 
      $facebook->api_client->notifications_sendEmail($user, 'You have a gift', $feed_body, $fbml); 

      //$facebook_graph->api('' $message, null, null, $target_id); 
     } 
     catch(Exception $e) { 
      echo $e->getMessage(); 
     } 
    } 
    // end of for 
} 

J'utilise FBML

+0

Nous sommes en mesure d'envoyer des messages sur fb-wall par php-sdk maintenant. Vérifie ma réponse –

Répondre

0

Il n'y a aucun moyen de poster sur un autre mur personnes directement. Si vous souhaitez les inviter à utiliser votre application, vous devrez utiliser la balise fbml request-form-submit. Vous pouvez le trouver ici: http://developers.facebook.com/docs/reference/fbml/request-form-submit. Après que cet utilisateur a autorisé votre application, vous pouvez poster sur son mur.

+1

Nous sommes en mesure d'envoyer un message sur fb-wall par php-sdk maintenant. Vérifie ma réponse –

4

Il semble qu'un request serait un canal plus approprié (et plus efficace) pour cette communication. Avec une demande, vous avez l'avantage supplémentaire du notification qui sera généré automatiquement avec votre demande. Vous pouvez très facilement envoyer des demandes en utilisant le Requests dialog. Pour répondre à votre question initiale, cependant, tant que vous avez le "publish_stream" permission et l'utilisateur dont le jeton d'accès que vous utilisez est autorisé à publier sur le mur du destinataire (c'est un paramètre de confidentialité qui peut être défini), tout ce que vous devez faire est question d'une requête POST à:

https://graph.facebook.com/USER2ID/feed?link=YOURLINK 

(vous pouvez trouver les paramètres pour l'affichage d'une histoire d'alimentation here.) Si vous utilisez le SDK PHP, assurez-vous que vous passez à version 3 (il est required que vous mettre à jour avant le 1er septembre de toute façon).

7

Je peux poster sur les murs des amis de l'utilisateur via l'API PHP.

Essayez ceci:

$facebook->api('/[FRIEND_ID]/feed', 'post', array(
      'message' => 'test message', 
      'link' => 'http://google.com', 
      'name' => 'test name', 
      'caption' => 'test caption', 
      'description' => 'test long description', 
    )); 
+1

Il est important de savoir que vous aurez besoin des permissions 'publish_actions, publish_stream'. –

+0

@TomRoggero: Oui. Nous avons besoin de ces 2 autorisations 2 articles de flux post. –

+1

@MrGewa: Cette réponse résout-elle votre problème? Si oui, marquez-le accepté. Sinon, qu'est-ce que vous avez ensuite besoin. –

Questions connexes