Last active
December 21, 2015 00:29
-
-
Save dpasqua/6221072 to your computer and use it in GitHub Desktop.
Exemplo de publicação em Fan Page do facebook. Utilizando o sdk para PHP.Parametrizar appId, secret e o ID da Fan Page que deseja realizar a publicação.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// incluir a lib fo facebook | |
require 'facebook-php-sdk-master/src/facebook.php'; | |
// Cria a instancia da aplicacao, informando o appid e o secret | |
$facebook = new Facebook(array( | |
'appId' => '', | |
'secret' => '', | |
)); | |
// parametrizar o id da fanpage | |
$ID_FANPAGE = ''; | |
// obtem o id do usuario | |
$user_id = $facebook->getUser(); | |
if ($user_id) { // usuario logado | |
// solicitar permissao | |
try { | |
$permissions = $facebook->api("/me/permissions"); | |
// tratar permissoes | |
$permissions_granted = array(); | |
foreach($permissions['data'] as $perm) { | |
if($perm['status'] == 'granted') { | |
array_push($permissions_granted, $perm['permission']); | |
} | |
} | |
if(!in_array('manage_pages', $permissions_granted) | |
|| !in_array('publish_pages', $permissions_granted) | |
) { | |
header("Location: " . $facebook->getLoginUrl(array("scope" => "manage_pages, publish_pages"))); | |
exit; | |
} | |
// obtendo token da fan page baseado no ID | |
$fanpage_token = null; | |
$accounts = $facebook->api('/me/accounts', 'GET'); | |
foreach($accounts['data'] as $account) { | |
if($account['id'] == $ID_FANPAGE){ | |
$fanpage_token = $account['access_token']; | |
} | |
} | |
if($fanpage_token) { | |
// conseguimos obter o token da fan page | |
// publicar | |
// dados para envio da publicacao da foto | |
$feed_data = array( | |
"message" => "Exemplo de publicação.", | |
"name" => "Minha Publicação Facebook", | |
"link" => "http://www.douglaspasqua.com", // link da publiccao | |
"picture" => "http://img3.wikia.nocookie.net/__cb20130408215021/warframe/images/archive/7/78/20130408220026!Facebook_logo(2).png", | |
"privacy" => "{'value':'SELF'}", | |
"caption" => "www.douglaspasqua.com", | |
"access_token" => $fanpage_token, | |
); | |
// publica foto na timeline | |
$dados = $facebook->api("/me/feed", "post", $feed_data); | |
echo "Publicado na fan page com sucesso"; | |
} | |
} catch (FacebookApiException $e) { | |
var_dump($e); | |
$user = null; | |
} | |
} else { | |
// usuario nao logado, solicitar autenticacao | |
$loginUrl = $facebook->getLoginUrl(); | |
header("Location: $loginUrl"); | |
} | |
Este código funciona com o SDK 4.0.0???
Esse código não funciona no SDK 4.0 ! Estou em processo de adaptação e em breve estarei atualizando o código.
Segue exemplo de publicação na fanpage usando php sdk 4.0.x:
https://gist.github.com/dpasqua/5911a0746397e853a347
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Gostaria de saber como seria esse script, com a nova SDK do facebook (4.0)