2014-07-09 25 views
7

Ich verwende den folgenden Code, um Facebook-Seite posten, aber ich bekomme diese Fehlermeldung:(# 200) Der Benutzer hat die Anwendung nicht autorisiert, diese Aktion auszuführen Facebook php api error?

(#200) The user hasn't authorized the application to perform this action 

ich die manage_page Erlaubnis Dialog bekommen und ich auf ok und alles ist in Ordnung es so verstehe ich nicht, warum ich kann nicht auf die Facebook-Seite posten!

dies ist mein Code:

<?php 
include_once 'inc/facebook.php'; 

$appId = '000000000000000'; 
$secret = '00000000000000000000000'; 
$returnurl = 'https://mrdomain.com'; 
$permissions = 'manage_pages, publish_stream'; 

$fb = new Facebook(array('appId'=>$appId, 'secret'=>$secret)); 

$fbuser = $fb->getUser(); 

if($fbuser){ 

    if(isset($_POST['msg']) and $_POST['msg']!=''){ 
     try{ 
      $message = array(
       'message' => $_POST['msg'] 
      ); 
      $posturl = '/'.$_POST['pageid'].'/feed'; 
      $result = $fb->api($posturl,'POST',$message); 
      if($result){ 
       echo 'Successfully posted to Facebook Wall...'; 
      } 
     }catch(FacebookApiException $e){ 
      echo $e->getMessage(); 
     } 
    } 

    try{ 
     $qry = 'select page_id, name from page where page_id in (select page_id from page_admin where uid ='.$fbuser.')'; 
     $pages = $fb->api(array('method' => 'fql.query','query' => $qry)); 

     if(empty($pages)){ 
      echo 'The user does not have any pages.'; 
     }else{ 
      echo '<form action="" method="post">'; 
      echo 'Select Page: <select name="pageid">'; 
      foreach($pages as $page){ 
       echo '<option value="'.$page['page_id'].'">'.$page['name'].'</option>'; 
      } 
      echo '</select>'; 
      echo '<br />Message: <textarea name="msg"></textarea>'; 
      echo '<br /><input type="submit" value="Post to wall" />'; 
      echo '</form>'; 
     } 

    }catch(FacebookApiException $e){ 
     echo $e->getMessage(); 
    } 

}else{ 
    $fbloginurl = $fb->getLoginUrl(array('redirect-uri'=>$returnurl, 'scope'=>$permissions)); 
    echo '<a href="'.$fbloginurl.'">Login with Facebook</a>'; 
} 

?> 

brauche ich etwas anderes zu tun, bevor ich auf die Facebook-Seite veröffentlichen können?

jede Hilfe wäre willkommen.

+0

möglich Duplikat von [Fehler (# 200) Der Benutzer hat die Anwendung nicht autorisiert, diese Aktion durchzuführen] (http://stackoverflow.com/questions/24632296/error-200-the-user-hasnt-authorized- the-application-to-perform-this-action) –

Antwort

20

Aus der documentation sieht es so aus, als ob Sie eine abgeschriebene Berechtigung verwenden, versuchen Sie statt publish_stream.

+2

wo ist das multiple up vote button .. ich kann dir nicht genug danken. – user3806613

+0

Sie haben mit Ihrer Antwort einen tollen Job gemacht !!!! –

+0

Wie 'publish_actions' in Javascript SDK verwenden? –

Verwandte Themen