rexmage Posted September 2, 2013 at 10:21 PM Report #523232 Posted September 2, 2013 at 10:21 PM (edited) Boas, precisava de saber como posso fazer com que a minha APP faça auto-post no fb de forma automática. Já criei a APP e consigo criar esse script para interagir manualmente, e com a obrigação de autenticação. No entanto, o que quero é que a APP faça o login sozinha através de access_token e depois através do publish_stream publique um post que eu lhe envio. Objectivo: Criar uma rotina PHP que vai correr em cronjob para fazer autopost's no facebook sem ter de colocar todos os dias posts. Isto é extremamente útil quando tens sites com bastante informação para actualizar ou vários sites. Alguém sabe de alguma coisa sobre isto ? Eu li vários tutoriais, vi mesmo no facebook developer e não explicam assim tão claramente como deve ser feito. <?php require 'sdk-api/facebook.php'; $facebook = new Facebook(array( 'appId' =>'-----------------------', 'secret' =>'------------------------------------------', 'cookie' => true )); Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2; $access_token = $facebook->getAccessToken(); $me = null; try { $uid = $facebook->getUser(); $me = $facebook->api('/me?fields=access_token'); echo "Welcome User: " . $me['name'] . "<br />"; //access permission $permissions_needed = array('publish_stream', 'read_stream', 'offline_access', 'manage_pages'); foreach($permissions_needed as $perm) { if( !isset($permissions_list['data'][0][$perm]) || $permissions_list['data'][0][$perm] != 1 ) { $login_url_params = array( 'scope' => 'publish_stream,read_stream,offline_access,manage_pages', 'fbconnect' => 1, 'display' => "page", 'next' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ); $login_url = $facebook->getLoginUrl($login_url_params); header("Location: {$login_url}"); exit(); } } //Access permission $post_id = $facebook->api("/$uid/feed", "post", array("message"=>"Hello World!")); if(isset($post_id)) { echo "A new post to your wall has been posted with id: $post_id"; } } catch (FacebookApiException $e) { echo($e); } ?> Neste caso o erro que me retorna é "OAuthException: An active access token must be used to query information about the current user.". O mais parecido que vi aqui no forum com o que pretendo é isto: http://www.portugal-a-programar.pt/topic/55373-php-script-para-envio-de-posts/page__hl__facebook No entanto, eu pretendo de forma offline, sem necessitar de login para que, mesmo que eu esteja ausente, as publicações são feitas. Fico a aguardar, cumpz! Edited September 2, 2013 at 10:44 PM by yoda <?PHP echo "Bo0m"; ?>
yoda Posted September 2, 2013 at 10:48 PM Report #523234 Posted September 2, 2013 at 10:48 PM Porque é que não adicionas um método ao submit do formulario que usas para criar um post e metes antes do envio do post essa informação no facebook? before you post, what have you tried? - http://filipematias.info sense, purpose, direction
rexmage Posted September 2, 2013 at 10:51 PM Author Report #523235 Posted September 2, 2013 at 10:51 PM E como fazes o auto login ? O meu problema é ele não me autenticar com access_token, não é fazer o post. <?PHP echo "Bo0m"; ?>
yoda Posted September 2, 2013 at 10:53 PM Report #523236 Posted September 2, 2013 at 10:53 PM (edited) Esquece, essa parte não dá. http://developers.facebook.com/policy/ Secção IV, parágrafo 3. Vais ter de associar esse post no facebook ao post no site. Edited September 2, 2013 at 10:55 PM by yoda before you post, what have you tried? - http://filipematias.info sense, purpose, direction
rexmage Posted September 2, 2013 at 11:58 PM Author Report #523239 Posted September 2, 2013 at 11:58 PM Então diz-me uma coisa, como é que aqueles plugins de wordpress, fazem autopost assim que tu envias algo pro blog? Alguma coisa me está a escapar, e eu não estou a perceber o que é... <?PHP echo "Bo0m"; ?>
yoda Posted September 3, 2013 at 08:17 AM Report #523251 Posted September 3, 2013 at 08:17 AM Fazem isso actualmente? Se o fazem ou estão a usar uma API velha ou estão a dar a volta às regras. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
rexmage Posted September 3, 2013 at 09:15 AM Author Report #523262 Posted September 3, 2013 at 09:15 AM Yoda, tens dezenas de aplicações para wordpress que o fazem, e isso é o que me deixa mais espantado... fazendo uma pesquisa rápida no google: "wordpress auto post facebook" tens: - http://premium.wpmudev.org/project/ultimate-facebook || - http://wordpress.org/extend/plugins/simple-facebook-connect/ || - http://wordpress.org/extend/plugins/social-networks-auto-poster-facebook-twitter-g/ Diga-mos que existem várias soluções.. logo... se eles conseguem, tem de existir uma solução ou forma... eu vi que era possivel atraves do acess_token, activando a opção de publicação no próprio mural, hmmm.... <?PHP echo "Bo0m"; ?>
rexmage Posted September 3, 2013 at 11:16 AM Author Report #523278 Posted September 3, 2013 at 11:16 AM Alguém sabe ? <?PHP echo "Bo0m"; ?>
HappyHippyHippo Posted September 3, 2013 at 11:39 AM Report #523281 Posted September 3, 2013 at 11:39 AM no teu código não existe nada que indique que estejas a fazer autenticação ... sem autenticação, não tem access_token https://developers.facebook.com/docs/tutorials/canvas-games/authenticate/ IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
rexmage Posted September 3, 2013 at 11:56 AM Author Report #523283 Posted September 3, 2013 at 11:56 AM Podes explicar melhor ? é que não percebi mt bem esse exemplo de acesso. Tentei replicar apenas o exemplo do facebook mas nao correu bem lol, pelo menos até agora.... <?PHP echo "Bo0m"; ?>
HappyHippyHippo Posted September 3, 2013 at 11:59 AM Report #523285 Posted September 3, 2013 at 11:59 AM tens de ter a autenticação realizada antes e pedir um access_token 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
yoda Posted September 3, 2013 at 02:08 PM Report #523303 Posted September 3, 2013 at 02:08 PM Yoda, tens dezenas de aplicações para wordpress que o fazem, e isso é o que me deixa mais espantado... fazendo uma pesquisa rápida no google: "wordpress auto post facebook" tens: As regras dizem que entre a acção num serviço / site externo e o facebook, para postares algo no mural de uma pessoa terá de existir uma confirmação pelo meio. Se não é no mural das pessoas que queres postar, tens de ser mais específico, até porque a API do facebook tem alguma complexidade para que não está habituado. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
rexmage Posted September 4, 2013 at 12:58 AM Author Report #523387 Posted September 4, 2013 at 12:58 AM Yoda, eu expliquei mal a minha intenção. O que pretendo é criar uma APP (já o fiz) para quando correr www.site.com/autopost/cronjob.php ele faz um post com informação que está lá dentro. A minha dúvida é fazer o autopost, que correndo este link, ele insira numa fanpage especifica. Peço desculpa se me expliquei mal. Obrigado! <?PHP echo "Bo0m"; ?>
yoda Posted September 4, 2013 at 11:23 AM Report #523414 Posted September 4, 2013 at 11:23 AM Talvez não fosse má ideia dar uma vista de olhos a um plugin desses que falas para ver o código : https://drupal.org/project/fb_autopost before you post, what have you tried? - http://filipematias.info sense, purpose, direction
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now