Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
IMPORTANTE
Este método está desatualizado, assim que eu conseguir atualizar eu disponibilizarei aqui.
Obrigado
Bom galera
Essa classe lista e exibe todos os álbuns do seu facebook, assim você pode utilizar um plugin de sua preferência para dar um efeito legal na sua galeria, eu dei uma customizada no script original, basta você incluir o jquery de sua preferência ex(shadowbox, lighbox e etc)...
créditos: http://www.phpclasses.org/browse/file/33718.html
Obs: o arquivo phpcUrl.php tem de estar na mesma página que o index.php
Vamos lá:
index.php (mostra seus álbuns para entrar nas respectivas galerias)
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Facebook Albuns</title>
<link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
</head>
<body>
<?php
define('PAGE_ID', 'ID DA SUA PAGINA Exemplo: 000011112222333');
define('APP_ID','');
define('APP_SECRET','');
include("phpcUrl.php");
$face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</body>
</html><?php
class FacePageAlbum
{
private $URL;
private $TOKEN;
private $PAGE;
private $PHOTOS;
private function setPage()
{
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$this->PAGE = $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
}
private function setAlbumUrl($id)
{
if(is_numeric($id))
{
if($this->TOKEN)
{
$this->URL = "http://graph.facebook.com/".$id."/albums?".$this->TOKEN;
return true;
}
else
{
$this->URL = "http://graph.facebook.com/".$id."/albums";
return true;
}
}
else
{
return false;
}
}
private function setToken($appId, $appSecret)
{
$this->TOKEN = $this->curlGetFile('https://graph.facebook.com/oauth/access_token?type=client_cred&client_id='.$appId.'&client_secret='.$appSecret);
}
public function FacePageAlbum($id, $albumId, $aurl, $appId, $appSecret)
{
$this->setPage();
if($id)
{
if($appId && $appSecret)
$this->setToken($appId, $appSecret);
$this->setAlbumUrl($id);
if($albumId && $this->albumChk($albumId))
{
$this->PHOTOS = 'http://graph.facebook.com/'.$albumId.'/photos';
$json = json_decode($this->curlGetFile($this->PHOTOS));
if($json -> error) die("THERE HAS BEEN AN ERROR:album id invalid");
echo '<a class="FBback" href="javascript:history.go(-1)">Voltar</a>';
echo '<a class="FBbackAlbuns" href="'.$this->PAGE.'">Voltar para álbuns</a>';
if($json->paging->previous)
echo '<a class="FBprev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Voltar</a>';
if($json->paging->next)
echo '<a class="FBnext" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Próximo</a>';
echo '<br clear="all" />';
foreach($json->data as $v)
{
echo "<a class='ImageLink' href = '".$v->source."'><img class='thumbsA' src='".$v->picture."' /></a>";
}
return true;
}
else if ($aurl)
{
$this->PHOTOS = urldecode($aurl);
$json = json_decode($this->curlGetFile($this->PHOTOS));
if($json -> error) die("THERE HAS BEEN AN ERROR: album url invalid");
echo '<a class="FBback" href="javascript:history.go(-1)">Voltar</a>';
echo '<a class="FBbackAlbuns" href="'.$this->PAGE.'">Voltar para álbuns</a>';
if($json->paging->previous)
echo '<a class="FBprev" href="'.$PAGE.'?aurl='.urlencode($json->paging->previous).'">Voltar</a>';
if($json->paging->next)
echo '<a class="FBnext" href="'.$PAGE.'?aurl='.urlencode($json->paging->next).'">Próximo</a>';
echo '<br clear="all" />';
foreach($json->data as $v)
{
echo "<a class='ImageLink' href = '".$v->source."'><img width='110px' src='".$v->picture."' /></a>";
}
return true;
}
else
{
$json = json_decode($this->curlGetFile($this->URL));
if($json -> error) die("THERE HAS BEEN AN ERROR: pageId invalid");
foreach($json->data as $v)
{
echo "<div class ='ImgWrapper'>";
echo "<img src='https://graph.facebook.com/".$v->id."/picture' />";
//echo $v->from->name."<br>"; NOME DA PAGINA
echo "<a href = '".$this->PAGE;
echo "?";
echo "aid=".$v->id."'>".$v->name."</a>";
echo "<span>Fotos:".$v->count."</span><br>";
echo "<br clear='all'></div>";
}
return true;
}
}
return false;
}
public function curlGetFile($curlUrl)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $curlUrl);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
public function albumChk($albumId)
{
$json = json_decode($this->curlGetFile($this->URL));
$arrayId = array();
foreach($json->data as $v)
array_push($arrayId, $v->id);
if(!in_array($albumId,$arrayId)) return false;
return true;
}
};
?>/*=========================================================
RESET
=========================================================*/
*{
margin:0;
padding:0;
}.ImgWrapper{
float:left;
display:block;
background:#eaeaea;
margin:5px;
width:200px;
height:210px;
}
.ImgWrapper img{
display:block;
margin:10px auto;
max-width:190px;
height:125px;
}
.ImgWrapper a{
display:block;
text-decoration:none;
font:bold 14px Trebuchet MS, Arial, Verdana;
text-align:center;
color:#333;
}
.ImgWrapper a:hover{
color:#fff;
}
.ImgWrapper span{
display:block;
padding:2px 0;
font:12px Trebuchet MS, Arial, Verdana;
text-align:center;
color:#606060;
}
.thumbsA{
margin:5px;
max-width:110px;
height:110px;
} display:block;
float:left;
margin:5px 5px 10px 0;
width:130px;
text-align:center;
border-top: 1px solid #d6d6d6;
background: #707375;
background: -webkit-gradient(linear, left top, left bottom, from(#9fa3a6), to(#707375));
background: -webkit-linear-gradient(top, #9fa3a6, #707375);
background: -moz-linear-gradient(top, #9fa3a6, #707375);
background: -ms-linear-gradient(top, #9fa3a6, #707375);
background: -o-linear-gradient(top, #9fa3a6, #707375);
padding: 1px 0;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
-moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
box-shadow: rgba(0,0,0,1) 0 1px 0;
text-shadow:0px -1px 0px #5b5b5b;
color: #ffffff;
font:bold 12px Trebuchet MS, Arial, Verdana;
text-decoration: none;
vertical-align: middle;
}
.FBback:hover, .FBprev:hover, .FBnext:hover, .FBbackAlbuns:hover{
border-top-color: #ccc;
background: #70767a;
color: #ffffff;
}
.FBback:active, .FBprev:active, .FBnext:active, .FBbackAlbuns:active{
border-top-color: #fff;
background: #666666;
}Opaa
cara não sei porque mas meu imasters não avisou seu comentário me desculpe o tempo ausente ...
você não conseguiu exibir os dados ainda certo ?
Ola Pablo, parabéns pela dica e pela ajuda extra. Valeu mesmo.
Abraço
Precisando estamos ae alexfcosta2
Pablo,
Fiz todo o processo,
mas aparece o seguinte erro:
Aviso: Argumento inválido fornecido para foreach () in / home/u913447045/public_html/phpcUrl.php na linha 90
url pra testar: http://www.oticapeixinho.p.ht/albumface.php
se puder me ajudar
att
Tiago
Tiago, você fez alguma alteração no script ?
Poste por favor a linha do erro para que eu possa ver.
Pablo, nao fiz alteração nenhuma
LINHA 90 foreach($json->data as $v)
{
die("Testedentro"); (coloquei essa linha so pra ver se entrava no codigo)
echo "<div class ='ImgWrapper'>";
echo "<div style = 'width:125px; height:120px;overflow:hidden'>
<img width='125px' src='[https://graph.facebook.com/](https://graph.facebook.com/)".$v->id."/picture' />
</div>";
echo $v->from->name."<br>";
echo "<a href = '".$this->PAGE;
echo "?";
echo "aid=".$v->id."'>".$v->name."</a>";
echo "<br>Num of images:".$v->count."<br>";
echo "<br clear='all'></div>";
}
>
Tiago, você fez alguma alteração no script ?
Poste por favor a linha do erro para que eu possa ver.
??
Se não fez nenhuma alteração é pra funcionar, pois aqui funciona normalmente o script, não consigo identificar um erro ai
Manda um exemplo de utilização cara, é bem interessante :)
Segue o exemplo de utilização: http://www.pabloworks.com.br/works/lab/face-album/index.php
No caso deste exemplo, inseri também uma shadowbox para à galeria ficar mais interessante.
Sim, mas um exemplo de uso com o código em php, facilita na hora do pessoal aprender como se usa.
O código citado acima, é um exemplo completo...
O código citado acima, é um exemplo completo...
Pablo, nao sei entao o que esta havendo.
resumindo o que fiz
codigo albumface.php
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Facebook Albunsteste</title>
<link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
</head>
<body>
<?php
define('PAGE_ID', '112618115512126');
define('APP_ID','');
define('APP_SECRET','');
include("phpcUrl.php");
$face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</body>
</html>
arquivo phpcUrl.php e style.php copiado e colado igual sem alteração e enviados ao servidor
É style.css cara você está colocando style.php
arquivo phpcUrl.php e (((style.php))) copiado e colado igual sem alteração e enviados ao servidor
>
É style.css cara você está colocando style.php
arquivo phpcUrl.php e (((style.php))) copiado e colado igual sem alteração e enviados ao servidor
isso
style.css
eu que escrevi errado, desculpe
certo, o exemplo citado funciona corretamente estou pensando que pode haver algo de errado com seu servidor.
Seu servidor está com o cUrl instalado ? e roda php normalmente ?
>
certo, o exemplo citado funciona corretamente estou pensando que pode haver algo de errado com seu servidor.
Seu servidor está com o cUrl instalado ? e roda php normalmente ?
cUrl instalado nao sei,
mas eu sei que roda php 5
crie um arquivo somente com isso <?php phpinfo();?> e mande a URL para eu ver
crie um arquivo somente com isso <?php phpinfo();?> e mande a URL para eu ver
Tiago, o cUrl está ativado corretamente, não estou entendendo o que está acontecendo me mande a url da sua galeria para eu verificar ...
crie um arquivo somente com isso <?php phpinfo();?> e mande a URL para eu ver
Pablo,
e se vc me enviar os arquivos que vc usou nessa sua pagina de exemplo q postou acima
eu modifico o ID, ou vc modifica com o meu 112618115512126 e testa
agradeço
esse "Aviso: Argumento inválido fornecido para foreach () in / home/u913447045/public_html/phpcUrl.php na linha 90"
na minha opinião quer dizer que
define('PAGE_ID', 'ID DA SUA PAGINA Exemplo: 000011112222333');
define('APP_ID','');
define('APP_SECRET','');
esta em branco ou com algum erro.>
esse "Aviso: Argumento inválido fornecido para foreach () in / home/u913447045/public_html/phpcUrl.php na linha 90"
na minha opinião quer dizer que
define('PAGE_ID', 'ID DA SUA PAGINA Exemplo: 000011112222333');
define('APP_ID','');
define('APP_SECRET','');
esta em branco ou com algum erro.
Ricardo
eu so alterei o ID, não eh?
ai ficou assim
<?php
define('PAGE_ID', '112618115512126');
define('APP_ID','');
define('APP_SECRET','');
include("phpcUrl.php");
$face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>como você chego a essa id?
não estou conseguindo encontrar a minha para mim testar aqui também.
achei, aqui no meu funciono
http://informacast.com.br/face/
mas coloquei uma id de uma fanpage!
>
como você chego a essa id?
não estou conseguindo encontrar a minha para mim testar aqui também.
achei, aqui no meu funciono
http://informacast.com.br/face/
mas coloquei uma id de uma fanpage!
que coisa em
deve ser meu servidor entao que nao deixa aceitar
testa ai sua pagina com minha id
Olá tentei e segui todos os passos deste post e só consigo o seguinte "erro":
THERE HAS BEEN AN ERROR: pageId invalid
Fiz um teste no seguinte endereço:
http://zumback.com.br/teste/
no link " FOTOS/VÍDEOS" e o que me aponta é:
THERE HAS BEEN AN ERROR: pageId invalid
Teria como me dizer o que fazer ou me apontar algum link que tenha este
sistema eme funcionamento? ou teria alguma outra solução para exibir albums do face no site?
Augardo
Att
Adriano