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")
- string Facebook->getAccessToken()
Returneaza access token-ul userului curent(logat pe facebook prin intermediul aplicatiei tale). Cu ajutorul acestui token o sa manipulam userul.
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>'; } ?>
Tags: Tutoriale, Programare Web, Php
Comments
Nota
5
din
1