Jump to content

Recommended Posts

Posted (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 by yoda

<?PHP echo "Bo0m"; ?>

Posted

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"; ?>

Posted

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"; ?>

Posted

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.

Posted

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"; ?>

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.