2012-07-21 6 views
0
foreach($ret_obj as $person) 
{   
    $a = $person['uid']; 
    echo $a.'<br />'; 
    $page_feed = $facebook->api(
     '/'.$a.'/feed', 
     'POST', 
     array(
      'message' => 'Message', 
      'name' => 'Name', 
      'description' => 'description', 
      'link' => ''.FB_BASE_URL.'', 
      'picture' => 'http://link.edu/pic.jpg', 
      'access_token' => ''.$fbme[access_token].'' 
     ) 
    ); 

    //if $page_feed is defined it prints yes if not defined prints no 
    if($page_feed){echo 'yes<br />';} 
    elseif(!$page_feed[id]){echo 'no<br />';} 
} 

Quelqu'un n'ouvre pas leur mur même à leurs amis. Ensuite, je veux vérifier que si $page_feed est vrai ou faux. J'essaie de le faire dans les deux derniers rangs. J'ai essayé avec isset(). Quoi que je fasse je ne pouvais pas imprimer no.Graph api stream_post ne retourne pas false

Quand il publie, $page_feed variable retourne quelque chose comme ceci: 533444332_475819545445666 et j'ai essayé le code ci-dessous, mais il me donne une page blanche à nouveau.

if($page_feed){echo strstr($page_feed[id],'_').'<br />';} 
elseif(strstr($page_feed[id],'_')){echo 'no<br />';} 

Répondre

0

Si votre utilisateur actuel ne peut pas poster sur quelqu'un mur d'un autre, puis essayer de le faire se traduira par une exception - donc vous devez utiliser

try { … } catch(FacebookApiException $e) { … } 

réagir correctement à cela, sinon votre script mourra juste cause de l'exception non saisie.

Quelqu'un n'ouvre pas leur mur même à leurs amis.

Si ce n'est que des amis de l'utilisateur actuel que vous essayez de publier, il est probablement préférable de vérifier d'avance s'ils le permettent.

Vous pouvez utiliser FQL pour le faire - la table user a un champ appelé can_post-« Si oui ou non le spectateur peut poster sur le mur de l'utilisateur. »

SELECT uid FROM user WHERE uid IN 
    (SELECT uid1 FROM friend WHERE uid2 = me()) 
    AND can_post 

Cette requête vous donnera seulement les identifiants de ces amis qui permettent à votre utilisateur actuel d'afficher sur leurs murs. Intersectez cela avec la liste des identifiants d'utilisateur que vous essayez de publier - et vous n'aurez pas à faire des tentatives infructueuses de publication qui échoueront, ce qui, après tout, vous coûtera encore du temps pour la requête HTTP. (Vous devriez bien sûr attraper des exceptions possibles à l'API, car il y a toujours d'autres choses qui peuvent mal se passer, et vous ne voulez pas non plus que votre script meure dans ces cas-là.)

Questions connexes