Advertisement
rAthus

Facebook manage notifications (send and mark as read)

Oct 1st, 2013
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.06 KB | None | 0 0
  1. <?php
  2.    
  3.     /** Connexion au SDK PHP **/
  4.     require_once('php-sdk/facebook.php');
  5.     $config = array
  6.     (
  7.         'appId' => 'blabla',
  8.         'secret' => 'blablablabla',
  9.     );
  10.     $facebook = new Facebook($config);
  11.     $user_id = $facebook->getUser();
  12.    
  13.     /** Envoyer une notification (à n'importe quel utilisateur qui a accepté l'application **/
  14.     $post = $facebook->api('/'.$user_id.'/notifications/', 'post', array
  15.         (
  16.             'access_token' => 'blablabla|blablablabla', // appId|secret
  17.             'href' => 'https://www.url_application.net/', // Adresse vers laquelle pointe la notification (doit être sur ne NDD de l'application)
  18.             'template' => "Notification de moins de 180 caractères", // Contenu de la notification
  19.             'ref' => 'reference_de_la_notification' // La référence servira pour le suivit des statistiques, sachant que deux notifications qui ont la même référence auront le même ID dans la BDD de Facebook
  20.         ));
  21.    
  22.     /** Supprimer les notifications Facebook de l'application (uniquement pour l'utilisateur en ligne qui a accepté l'application avec la permission "manage_notifications") **/
  23.     if ($user_id) // Si l'utilisateur est connecté à l'application
  24.     {
  25.         $permissions = $facebook->api('/me/permissions');
  26.         if (array_key_exists('manage_notifications', $permissions['data'][0])) // On vérifie qu'il a bien donné la permission de manager ses notifications
  27.         {
  28.             $access_token = $facebook->getAccessToken();
  29.             $get = $facebook->api('/me/notifications?include_read=0&access_token='.$access_token, 'get'); // On récupère les notifications non lues de l'application
  30.             echo '<pre>'; print_r($get); echo '</pre>';
  31.             for ($i=0; $i<count($get['data']); $i++) // On marque chacune des notifications comme lues
  32.             {
  33.                 $notification_id = $get['data'][$i]['id'];
  34.                 $facebook->api('/'.$notification_id.'?unread=0&access_token='.$access_token, 'post');
  35.                 echo 'Mark "'.$notification_id.'" as read : OK<br>';
  36.             }
  37.         }
  38.         else
  39.         {
  40.             echo 'err0r : user have not allowed the app to manage his notifications';
  41.         }
  42.     }
  43.     else
  44.     {
  45.         echo 'err0r : no user connected to the app';
  46.     }
  47.    
  48. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement