Skip to content

Instantly share code, notes, and snippets.

@dpasqua
Last active December 21, 2015 00:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dpasqua/6221072 to your computer and use it in GitHub Desktop.
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.
<?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");
}
@dpasqua
Copy link
Author

dpasqua commented May 25, 2015

Esse código não funciona no SDK 4.0 ! Estou em processo de adaptação e em breve estarei atualizando o código.

@dpasqua
Copy link
Author

dpasqua commented May 31, 2015

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