2014-07-08 10 views
9

Ich mag würde Nachrichten an eine Facebook-Seite mit PHP senden, aber ich habe diesen FehlerFehler (# 200) Der Benutzer hat die Anwendung nicht berechtigt, diese Aktion auszuführen

(# 200) Der Benutzer hasn habe die Anwendung nicht autorisiert, diese Aktion durchzuführen.

Ich bin der Administrator der Facebook-Seite und der Facebook-Anwendung.

Ich denke, ich habe dieses Problem, weil ich nicht die guten Berechtigungen habe, aber ich weiß nicht, wie man das hat.

Ich habe in vielen vielen Seiten mit derselben Frage im Web suchen, aber ich habe die Antwort nicht finden.

Sie sind meine Berechtigungen.

array(1) { 
     ["data"]=> array(3) { 
        [0]=> array(2) { 
         ["permission"]=> string(9) "installed" 
         ["status"]=> string(7) "granted" 
         } 
        [1]=> array(2) { 
         ["permission"]=> string(14)"public_profile" 
         ["status"]=> string(7) "granted" 
        } 
        [2]=> array(2) { 
         ["permission"]=> string(12) "manage_pages" 
         ["status"]=> string(7) "granted" } } } 

Und das ist mein Code.

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

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

...

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

Antwort

9

Sie in der Antwort sehen kann, dass die Veröffentlichung keine Erlaubnis erteilt wird.

Der Grund ist, dass publish_stream jetzt veraltet ist; Verwenden Sie stattdessen publish_actions.

+1

Ich folge dir, aber immer noch (# 200) Der Benutzer hat die Anwendung nicht autorisiert, diese Aktion durchzuführen. – Meas