Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Script que realiza publicação de foto no perfil do usuário do facebook. Usando SDK do facebook para PHP. No exemplo, após a publicação da foto, é realizado uma marcação.
<?php
/**
* script que realiza publicação de foto no perfil do usuário do facebook
* no exemplo também é realizado uma marcação na foto
*/
// 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' => '',
));
// obtem o id do usuario
$user_id = $facebook->getUser();
// habilita suporte para upload de arquivos
$facebook->setFileUploadSupport(true);
if ($user_id) { // usuario logado
// solicitar permissao
try {
$permissions = $facebook->api("/me/permissions");
if(! (array_key_exists('publish_stream', $permissions['data'][0])
&& array_key_exists('user_photos', $permissions['data'][0])
)) {
header("Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, user_photos")));
exit;
}
// dados para envio da publicacao da foto
$post_data = array(
"message" => "Foto promocoes. Mais informações em http://dpasqua.wordpress.com/category/facebook",
"privacy" => "{'value':'SELF'}",
"image" => '@' . realpath("resources/promocoes.jpg"), // localizacao da foto
);
// publica foto na timeline
$data['photo'] = $facebook->api("/me/photos", "post", $post_data);
// obter o id da foto publicada anteriormente
$photo_id = $data['photo']['id'];
// dados do perfil do usuario
// obter o id do usuario para marcar a foto
$user_profile = $facebook->api('/me');
// marcar a foto com posição 10% acima e 10% à esquerda
$argstag = array('to' => $user_profile['id']);
$argstag['x'] = '10';
$argstag['y'] = '10';
// realizando a arcação
$datatag = $facebook->api('/' . $photo_id . '/tags', 'post', $argstag);
echo "foto publicada e marcada com sucesso";
} catch (FacebookApiException $e) {
var_dump($e);
$user = null;
}
} else {
// usuario nao logado, solicitar autenticacao
$loginUrl = $facebook->getLoginUrl(array("scope" => "publish_stream, user_photos"));
header("Location: $loginUrl");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment