Witam.
Chciałem stworzyć aplikację na Facebooka. Po wejściu w nią ma się pojawić komunikat z przyciskiem 'przejdź do aplikacji'. W kolejnym użytkownik zezwoli na dodatkowe uprawnienia. Potwierdzenie warunków ma przekierować go na adres zewnętrzny (np. www.page.pl), jednak w tym momencie miałbym już uzyskać dane użytkownika niezbędne do publikacji informacji na jego ścianie.
Znalazłem w sieci dwa skrypty - jeden odpowiedzialny za pobranie access tokena i ID użytkownika(config.php), drugi do publikacji wiadomości na jego wall'u. (publish).
Kod config.php:
Kod publish.php:
Teoretycznie schemat działania jest mniej więcej taki, jakiego oczekuje. Niestety, uruchomienie plików php odbywa się z poziomu paska adresu, wówczas pojawia się opcja logowania, bez której zdobycie tokena i ID jest niemożliwe, natomiast tejże opcji nie chcę używać, ponieważ cały proces dostępu usera do aplikacji ma się odbywać przez kolejne okna, jak opisałem wyżej.
Nie jestem specjalistą języka PHP, dlatego w swoich działaniach kieruję się 'po omacku'. Prosiłbym o pomoc w nakierowaniu mnie na dobrą stronę.
Pozdrawiam.
Chciałem stworzyć aplikację na Facebooka. Po wejściu w nią ma się pojawić komunikat z przyciskiem 'przejdź do aplikacji'. W kolejnym użytkownik zezwoli na dodatkowe uprawnienia. Potwierdzenie warunków ma przekierować go na adres zewnętrzny (np. www.page.pl), jednak w tym momencie miałbym już uzyskać dane użytkownika niezbędne do publikacji informacji na jego ścianie.
Znalazłem w sieci dwa skrypty - jeden odpowiedzialny za pobranie access tokena i ID użytkownika(config.php), drugi do publikacji wiadomości na jego wall'u. (publish).
Kod config.php:
Kod:
<?
require '/facebook.php';
$facebook = new Facebook(array(
'appId' => 'TOP_SECRET',
'secret' => 'MORE_THAN_TOP_SECRET',
'cookie' => true,
));
$uid = $facebook->getUser();
$me = null;
if ($uid) {
try {
$me = $facebook->api('/me');
$token = $facebook->getAccessToken();
} catch (FacebookApiException $e) {
error_log($e);
}
}
// pobieranie listy stron administrowanych przez użytkownika
if($me)
{
echo "moj token to : " . $token . "<br />";
$accounts = $facebook->api('/me/accounts');
foreach($accounts['data'] as $account)
echo($account['id']." - ".$account['name']." - ".$account['access_token']."<br />");
?>
<a href="https://graph.facebook.com/me/accounts&access_token=<?php echo $token; ?>">Lista stron</a><br />
<?php
}
?>
<a href="<?php echo($facebook->getLoginUrl(array('scope' => 'email, manage_pages,publish_stream,offline_access'))); ?>">Login</a>
Kod publish.php:
Kod:
<?
require('/facebook.php');
$page_access_token = 'yyy';
$page_id = 'yyy';
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
'cookie' => true,
));
$params = array('message' => 'Zlot udany!',
'access_token' => $page_access_token,
'link' => 'http://page.pl/mind.php', );
$post = $facebook->api('/'.$page_id.'/feed', 'post', $params);
Teoretycznie schemat działania jest mniej więcej taki, jakiego oczekuje. Niestety, uruchomienie plików php odbywa się z poziomu paska adresu, wówczas pojawia się opcja logowania, bez której zdobycie tokena i ID jest niemożliwe, natomiast tejże opcji nie chcę używać, ponieważ cały proces dostępu usera do aplikacji ma się odbywać przez kolejne okna, jak opisałem wyżej.
Nie jestem specjalistą języka PHP, dlatego w swoich działaniach kieruję się 'po omacku'. Prosiłbym o pomoc w nakierowaniu mnie na dobrą stronę.

Pozdrawiam.