Menu

FB API: Postare actualizari pe wall-ul paginilor proprii

Azi m-am gandit ce mi-a spus prietenul meu Gruia Catalin, imi vorbea despre pluginul lui pentru wordpress care-i posteaza articolele si pe facebook, eu nu am wordpress si de aici incepe distractia!

In articolul anterior, Cum implementam logarea prin facebook, am invatat cam tot ce tine de logarea prin facebook, de permisiuni si de altele.
Acum, mergand pe premiza ca tu deja ai citit articolul precedent si ai invatat ce am prezentat acolo, vom lucra la postarea mesajelor pe wall-ul propriilor pagini. Dar nu sa postam cu numele nostru, si sa postam sub numele paginii. Cum de este posibil? Pai chiar si paginile tale au token-uri. Paginile tale le aflam cu ajutorul Facebook->api("/id_user/accounts")

O functie care cu toate ca nu o vom folosii in exemplul din acest articol este necesar sa o stii pentru a lucra cu API-ul facebook este urmatoarea:

Acum ANALIZEAZĂ , MODIFICĂ , TESTEAZĂ si IMPLEMENTEAZĂ urmatorul exemplu:
<?php  
include 'fb/src/facebook.php';


# Inceput - Editeaza aici #
$app_id = '692915750734915';
$app_secret = '501042c02ab4a16513b1a0da4d900578';

$url_pagina = 'facebook.com/ProgramamRo'; // adresa paginii tale fara http sau www
# Sfarsit - Editeaza aici #
 
$fb = new Facebook(array(
	'appId' => $app_id,
	'secret' => $app_secret
));


$user = $fb->getUser();

if( $user ){
	// In caz ca este logat
	$user = $fb->api('/me');
	$user = (object)$user; // Transformam array-ul in obiect

	# Pe http://graph.facebook.com/NumePagina avem datele in format JSON ale paginii
	$pagina = json_decode( file_get_contents('http://graph.'.$url_pagina) );
	$pagini = $fb->api("/$user->id/accounts");
	foreach ($pagini['data'] as $pagina_cont){
		# Cautam pana gasim pagina pe care trebuie s-o manipulam iar apoi ii salvam tokenul in obiectul "pagina"
		if($pagina_cont['id'] == $pagina->id) $pagina->token = $pagina_cont['access_token'];
	}
	
	# Facem cererea care posteaza mesajul pe wall
	# Vom posta si un link, modificati programam.ro cu site-ul dvs.
	# Modificati si link-ul pozei cu poza dorita cu thumbnail pentru postare
	$post = $fb->api("/$pagina->id/feed", 'post', array(
			'access_token' => $pagina->token,
			'message' => 'Acesta este mesajul care va fi postat',
			'link' => 'http://programam.ro',
			'picture' => 'https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-ash3/75509_694149410602157_831908993_n.jpg'
		));
	header('Location: http://'.$url_pagina); // redirectionam catre pagina pentru a vedea mesajul

} else{
	echo '<a href="'.$fb->getLoginUrl(array( 'scope' => 'publish_stream, manage_pages')).'">Login</a>';
}
?>


Ti-a placut articolul? Asigura-te ca-ti dam de veste cand publicam altele noi.


Tags: Tutoriale, Programare Web, Php

Comments Nota 5 din 1