Я использую следующий код, чтобы опубликовать на facebook страницу, но я получаю эту ошибку:
(#200) The user hasn't authorized the application to perform this action
Я получаю диалог разрешения manage_page, и я нажимаю ok, и все в порядке, поэтому я не понимаю, почему я не могу опубликовать на странице facebook!
это мой код:
<?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>'; } ?>
мне нужно сделать что-нибудь еще, прежде чем я смогу опубликовать на странице facebook?
любая помощь будет оценена по достоинству.
Из документации похоже, что вы используете обесцененное разрешение, попробуйте publish_actions
вместо publish_stream
.