Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pozyskanie danych użytkownika bez potrzeby logowania
#1
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:
<?
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ę. Smile

Pozdrawiam.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  cron nie łączy się z bazą danych michalszyd 3 5,005 18-01-2018, 06:15
Ostatni post: ytprzetwornik
  Pobieranie danych z dwóch baz danych jarekcda 2 5,193 28-11-2016, 11:55
Ostatni post: ania9
  podział danych za pomocą substr ppsqm 1 4,150 18-06-2014, 15:18
Ostatni post: Kartofelek
  Przywrócenie bazy danych/struktury z plików OPT i FRM smiesznylolek 0 3,265 19-11-2013, 16:28
Ostatni post: smiesznylolek
  Skrypt Logowania oraz rejestracji z kodowaniem w SHA265 Tehiro 0 2,019 23-06-2013, 18:06
Ostatni post: Tehiro

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl