Postare video e interagire con gli album di una pagina Facebook con PHP

Bentornati!

In questa terza parte della serie di articoli dedicata al post automatico di contenuti su Facebook via PHP approfondiremo alcuni aspetti più avanzati relativi agli argomenti già visti nelle prime due puntate.

Questo articolo sarà organizzato come un insieme di piccoli esempi ottenuti variando il codice sorgente della scorsa puntata. Come al solito, potete scaricare il codice sorgente dell’articolo con tutti i file necessari da qui.

Postare un video di YouTube

Una delle cose che permette di postare Facebook sono i video di YouTube. La procedura per pubblicare i video è molto simile a quella per pubblicare delle foto, con solo alcune piccole variazioni. Invito chi non lo avesse ancora fatto a rileggere la seconda parte, in ogni caso farò adesso un breve riassunto.

Per postare un contenuto su Facebook, è necessario usare la funzione api della classe Facebook, specificando l’endpoint con cui interagire, la modalità (che può essere GET o POST) e infine un array di argomenti che indicano alla funzione cosa deve fare nello specifico.

Ecco gli argomenti necessari per postare un video di YouTube sulla bacheca della nostra pagina Facebook:

$arguments = array(
				   'link' => $video,
				   'message' => $messaggio,
				   'access_token' => $accessToken
					);

Come potete notare, l’argomento url che conteneva l’URL della foto da postare è stato sostituito dall’argomento link, che associamo all’URL del video di YouTube.

Per postare il video, infine, richiamiamo la funzione api con la seguente sintassi:

$data = $facebook->api("/$pageId/links", 'POST', $arguments);

Stavolta come endpoint non usiamo più /photos ma /links. Senza questa piccola modifica, Facebook restituirebbe un errore e annullerebbe l’operazione.

Da notare, infine, che noi abbiamo postato un video, ma utilizzando il campo link possiamo postare qualsiasi tipo di link a siti web in generale.

Ottenere un elenco degli album

Ora, invece, vi mostrerò come potete postare una foto su un album della pagina, invece che sulla bacheca della pagina stessa. Per prima cosa chiederemo a Facebook di darci un elenco degli album disponibili. Poi ne sceglieremo uno, memorizzando il suo ID, e useremo questo dato per postare le nostre foto direttamente nell’album scelto.

Cominciamo! Prendiamo pure il codice della scorsa puntata, solo che stavolta inseriremo del codice subito prima del comando che postava la foto sulla pagina.

Il codice è il seguente:

// chiedo a Facebook quali album sono disponibili nella pagina
		$albums = $facebook->api("/$pageId/albums");
		
		$nomeAlbum = "NOME ALBUM";
		
		// ottengo l'id dell'album
		if ($albums)
		{
			foreach ($albums['data'] as $key => $album) 
			{
				if ($album['name'] == $nomeAlbum) 
				{
					$albumId = $album['id'];
					break;
				}	
			}
		}

		if ($albumId == 0) { echo "Album non trovato"; exit(); }

Come potete vedere, invochiamo ancora la funzione api della classe Facebook, questa volta per ottenere gli album disponibili nella pagina. Ciò che otteniamo è ancora un oggetto JSON molto complicato, del quale però ci interessa solo l’array data. Ciò che dobbiamo fare è semplicemente scorrere l’elenco degli album finché non troviamo quello che ci interessa e, infine, memorizzare l’ID univoco dell’album.

Alcuni album non sono direttamente manipolabili: un esempio è l’album delle foto di copertina, che potete trovare sotto il nome di “Cover Photos”.

A questo punto, modifichiamo leggermente la chiamata alla funzione api originale in modo che includa l’album tra i suoi parametri:

$arguments = array(
				   'url' => "https://example.com/" . $nomeFile,
				   'message' => $messaggio,
				   'aid' => $albumId,
				   'access_token' => $accessToken
					); 
			$data = $facebook->api("/$albumId/photos", 'POST', $arguments);

Come potete notare, abbiamo aggiunto il campo aid agli argomenti e la chiamata alla funzione api non punta più alla pagina, ma direttamente all’album attraverso il suo ID.

Avete visto? Con qualche semplice modifica abbiamo reso più interessante il nostro esempio!

Sempre più difficile! Creiamo il nostro album

A questo punto dovreste aver familiarizzato con le API di Facebook. Avete visto che potete usare la funzione api della classe Facebook in molti modi diversi, ricordandovi di specificare sempre il token di accesso.

Adesso faremo un passo avanti: invece di postare la foto su un album esistente, lo creeremo noi!

Il codice per fare questo passaggio è il seguente:

$argsAlbum = array(
	'access_token' => $accessToken,
        'message'=> 'Descrizione del mio album',
        'name'=> 'Nome del mio album'
  );

  $objAlbum = $facebook->api("/$pageId/albums", 'POST', $argsAlbum);

  // ottiene l’ID dell’album appena creato
 $albumId = $objAlbum['id'];

Tutto quello che dobbiamo fare è inizializzare come sempre l’array degli argomenti, specificando soltanto il token di accesso, il nome e la descrizione dell’album. La chiamata alla funzione api restituisce come al solito un oggetto JSON, del quale siamo interessati al campo id: è l’identificatore univoco dell’album che abbiamo appena creato. Il resto del codice è del tutto identico all’esempio precedente.

Conclusione

L’articolo di oggi era più breve degli altri due e voleva essere un complemento a quanto visto fino a questo momento. Abbiamo imparato a postare link, video e a creare nuovi album.

Tutto ciò che abbiamo fatto fino ad ora è stato di creare e caricare contenuti sulla nostra pagina Facebook. Quello che faremo nella prossima e ultima puntata, invece, sarà leggere i post della bacheca della pagina! Sarà un esempio completamente diverso da quelli che abbiamo visto fino ad ora e anche più complesso e vi permetterà, con un po’ di pazienza, di creare ad esempio il vostro widget personalizzato che mostri gli ultimi post pubblicati nella vostra pagina.

Alla prossima!

Leggi tutti gli articoli di questa mini guida su come postare contenuti su Facebook tramite PHP.

1. Post automatico di contenuti su Facebook

2. Pubblicare foto su una pagina Facebook con PHP

3. Postare video e interagire con gli album di una pagina Facebook con PHP

4. Mostrare il feed di una pagina Facebook all’interno del nostro sito web

Tag:

L'autore

La mia storia con l’informatica inizia in realtà molto presto, da bambino, quando osservavo mio padre smanettare con il suo primo PC. Da allora ho seguito questa strada, e nel 2014 mi sono laureato a Brescia in ingegneria informatica. Ho aperto quindi la mia ditta individuale e mi occupo di web design, grafica e sviluppo software e app. Nella vita ho tutto quello che desidero: una fidanzata meravigliosa, una famiglia fantastica e fortunatamente molto lavoro. Attualmente sono iscritto anche all’università di Bologna, per dare seguito ad un’altra mia grande passione: l’astronomia.

Sito web dell'autore | Altri articoli scritti da

Articoli correlati

Potresti essere interessato anche ai seguenti articoli:

2 commenti

Trackback e pingback

Non ci sono trackback e pingback disponibili per questo articolo