Jump to content
rexmage

APP Facebook [access_token]

Recommended Posts

rexmage

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

Share this post


Link to post
Share on other sites
rexmage

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

Share this post


Link to post
Share on other sites
rexmage

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

Share this post


Link to post
Share on other sites
rexmage

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

Share this post


Link to post
Share on other sites
rexmage

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

Share this post


Link to post
Share on other sites
HappyHippyHippo

tens de ter a autenticação realizada antes e pedir um access_token

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
yoda

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.

Share this post


Link to post
Share on other sites
rexmage

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

Share this post


Link to post
Share on other sites

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.