Kaik i jego historie

Strona główna blogu

Blog prowadzony przez: kaik

Kategorie

RSS Subskrybuj RSS

Wszystkie blogi

Odwiedź pozostałe blogi lub załóż swój własny!

...wszystkie blogi

Kaik i jego historie

Moje przemyślenia i paranoje na różne tematy związane z internetem...

Mister Wong iconTechnorati iconDigg icondel.icio.us iconma.gnolia iconFurl iconNewsvine iconReddit iconYahoo MyWeb iconBlinkbits iconGoogle iconSimpy iconBlogmarks icon

Zikula i Facebook jak zintegorwać

Integracja własnej strony z Facebookiem - co to w ogóle znaczy?

Jak powstał "moduł" facebook zacząłem się zastanawiać co to znaczy połączyć stronę z facebookiem. Nie znałem fejsa jeszcze wtedy tak dobrze, a oglądane na innych stronach buttony boksy i cała masa tego typu dodatków jakoś mnie nie kręciła.

Jak zwykle ciekawość okazała się pierwszym krokiem do piekła:)

Najbardziej interesowała mnie idea łatwej rejestracji użytkownika, który ma konto na facebook.

Łatwa rejestracja co to znaczy hmm...

Zikula potrzebuje 3 danych żeby zarejestrować użytkownika 
(sytuacja: logowanie za pomocą loginu email wymagany unikalny)

login - można pobrać imię i nazwisko użytkownika z fejsa i je "obrobić" tak żeby spełniało podstawowe wymagania co do loginu użytkownik powinien mieć możliwość zmiany loginu! przed rejestracją

email - można skopiować z fejsa :)

hasło - można generować, ale one są tragiczne te hasła z fejsa hasła nie pobierzemy- jedyne co pozostaje to udostępnić możliwość wpisania hasła

Jak to działa:

Facebook od strony, od której większość osób zna to tylko szczyt góry lodowej. Kluczowa funkcja to aplikacje takie jak np: gry, aplikacje dostępu do strony dla telefonów itp.

Chcąc skorzystać z gry/aplikacji na fejsie jesteśmy proszeni o akceptację dostępu tej aplikacji do naszego konta - to jakie to są dane wyświetla się nam podczas akceptacji.

Co to ma wspólnego z moją stroną, którą chcę połączyć/zintegorwać z facebookiem.

No więc, zanim zrobimy cokolwiek

Wchodzimy na fejsa logujemy się i przechodzimy na stronę https://developers.facebook.com/apps

Tworzymy aplikację 

Następnie instalujemy moduł facebook na naszej stronie www
(Kopiujemy zawartość folderu config do config folder facebook do folderu modules)

FacebookRalpha

Wchodzimy do administracji modułu facebook

I wypełniamy danymi, o które nas proszą.

Zaznaczamy use for reg

Zanim zaczniemy łączyć się wchodzimy do administracji modułami i de aktywujemy moduł AuthPN - są z nim problemy...

Ok - teraz najlepiej wylogować się i z facebooka i z naszej strony

Jeśli wcześniej używałeś modułu facebook mogą wystąpić problemy, ale nie muszą :)

wchodzimy na link ...index.php?module=facebook

Powinno nam się pokazać connect to facebook

Klikamy połącz wpisujemy nasze dane akceptujemy aplikację i...

Teraz powinniśmy być zalogowani do fejsa przez naszą aplikację mamy dostęp do danych z naszego profilu w tym adres emai,

I tu zaczynają się schodki bo:

- email może być już zarejestrowany - w ogóle możemy mieć już na naszej www konto i chcemy tylko połączyć konta - nie ma problemu jeśli email jest zarejestrowany pokaże nam się opcja logowania.

- jeśli email nie jest zarejestrowany - formularz do rejestracji - taka mini wersja tylko login/hasła

klikamy sprawdzamy czy wszystko jest ok na końcu powinno nas zalogować i połączyć/zarejestrować i połączyć


Ostrzeżenie - moduł jest przerobiony "na kolanie" i może powodować problemy!

Moduł był testowany przy ustawieniach normalnej rejestracji z generowanym hasłem i wysyłanym na email. Moduł "powinien" działać przy innych ustawieniach

Wasze uwagi i błędy będą kluczowe do publikacji następnej wersji.

Komentarze

Możesz komentować ten wpis także bezpośrednio na forum

  • Mógłby ktoś opisać jak ten moduł używać ? Chodzi głównie o zintegrowane logowanie z facebook i o dodawania komentarzy na facebooku poprzez strone.

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • OK więc wczoraj i dzisiaj się tym bawiłem...
    Najpierw instalujesz moduł na swojej www.
    Następnie rejestrujesz aplikację na swoim koncie facebook.
    Pobierasz apikey oraz secret key i tylko te są wykorzystywane.

    Moduł facebook ma w sobie tylko 2 funkcje w sumie 3
    /index.php?module=facebook&type=register&func=loginform
    /index.php?module=facebook&type=register&func=newuser
    /index.php?module=facebook&type=sample&func=myevents

    W pntemplates są templatki do tych funkcji i tak:
    loginform.html - tam na początku trzeba dodać to plugin dodający odpowiedni javascript, który inicjuje wszystko.

    Code

    <!--[fbjs]-->

    Odświeżamy cache wylogowujemy się i wchodzimy na
    /index.php?module=facebook&type=register&func=loginform
    I teraz powinien się tam nam wyświetlić przycisk facebook
    klikamy w ten przycisk i wyskakuje nam okienko i są 2 opcje:
    1.error 100 - trzeba wypełnić informacje w uwstawieniach aplikacji URLe itp znaczy ja to zrobiłem i zadziałało, ale nie wiem czy to to
    2.okno logowania facebook wpisujemy i akceptujemy uprawnienia dla aplikacji.

    Następnie powinno nas przenieść do strony logowania lub rejestracji konta twojej strony tam sie logujemy lub rejestrujemy konto po tym nasze konta są "połączone" i za każdym razem loguje nas automatycznie pobiera także nasze logo z face itp...


    Ogólnie to ta paczka to zbiór funkcji do odbierania danych z face co z tymi danymi ma się stać musimy napisać dlatego w tym module nie ma pliku pnuser.php.

    Tak czy siak coś działa i w sumie ja jeszcze nie znam ani fejsa do końca i nie wiem co można by zrobić więc będę wnikał dalej...

    aa jeszcze funkcja myevents hmm nie działa mi to mimo iż jestem zalogowany za pomocą fejsa nie wiem co jest 5 wiecej testów muszę przeprowadzić...:D
  • Ok kolejne informacje...
    1.Sprawa to dziwna sprawa bo nie mogłem się zalogować do serwisu musiałem pobrać hasło i wtedy zadziałało co ciekawe fejs mnie logował normalnie do póki nie wyłączyłem opcji w ustawieniach administracyjnych modułu facebook żeby logował. Wtedy już w ogóle nie miałem dostępu do admina i musiałem zrobić manewr z nowym hasłem. ...teraz działa... dalej testuje co się mogło stać, mogłem pozmieniać i nie pamiętać icon_razz bo nie pamiętam za wiele z wczoraj...
    mniejsza o to

    link:
    /index.php?module=facebook&type=sample&func=myevents
    To funkcja w pnsample.php w module facebook.
    pobiera eventy z konta facebook akutualnie zalogowanego usera mi nie działała bo nie mam eventów na fejsie, ale kilka kliknięć i zrobiłem funkcję myfriends i tak:

    Code

    function facebook_sample_myfriends()
    {
    $events = pnModAPIFunc('facebook', 'user', 'graph', array('req' => 'me/friends'));



    $pnRender =& new pnRender('facebook');
    $pnRender->assign('friends', $events);
    return $pnRender->fetch('samples/friends.html');
    }

    dodajemy na końcu pnsample.php
    dodajemy plik friends.html w katalogu /pntemplates/samlples/friends.html
    a w nim

    Code

    <!--[fbjs]-->

    Use this code to grab the data shown below:<br />
    <textarea cols="85" rows="13">
    $events = pnModAPIFunc('facebook', 'user', 'graph', array('req' => 'me/events'));

    foreach ($events['data'] as $event) {
    $event['details'] = pnModAPIFunc('facebook', 'user', 'graph', array('req' => $event['id']));
    $myevents[] = $event;
    }
    </textarea>

    <pre>
    <!--[print_r array=$friends]-->
    </pre>
    <!--[pndebug]-->
  • Powyższą funkcję wywołujemy
    /index.php?module=facebook&type=sample&func=myfriends


    I następna sprawa

    Code

    <!--[print_r array=$friends]-->

    nie zadziała i dlatego nie pokazuje się w myevents
    poprawnie jest

    Code

    <!--[$friends|@print_r]-->


    Facebook ma API i tu jest coś o tym http://develope…k.com/docs/api
    I teraz od razu rzuca się w oczy:

    Quote

    * Friends: https://graph.facebook.com/me/friends
    * News feed: https://graph.facebook.com/me/home
    * Profile feed (Wall): https://graph.facebook.com/me/feed
    * Likes: https://graph.facebook.com/me/likes
    * Movies: https://graph.facebook.com/me/movies
    * Books: https://graph.facebook.com/me/books
    * Notes: https://graph.facebook.com/me/notes
    * Photo Tags: https://graph.facebook.com/me/photos
    * Photo Albums: https://graph.facebook.com/me/albums
    * Video Tags: https://graph.facebook.com/me/videos
    * Video Uploads: https://graph.facebook.com/me/videos/uploaded
    * Events: https://graph.facebook.com/me/events
    * Groups: https://graph.facebook.com/me/groups
    * Check-ins: https://graph.facebook.com/me/checkins


    Czyli to można pobrać o sobie "osobie zalogowanej na fejs przez tą aplikację"
    Każdy kto chce zalogować się za pomocą facebooka najpierw loguje się po przyciśnięciu przycisku na stronie /index.php?module=facebook&type=register&func=loginform
    Jeśli nie ma przycisku jest tylko napis to dajcie znać
    Jeśli jest przycisk to tak jak pisałem po kliknięciu może wystąpić error 100 w nowo otwartym oknie
    Następnie musieliśmy potwierdzić dostęp aplikacji do konta
    I przekierowało nas na naszą stronę i wybór czy logujemy się do naszego konta na www.twojawww czy zakładamy nowe konta wtedy zostaną połączone po id. wtedy fejsbook nas loguje
  • Masakra ten moduł.. to tak jakby pisać go od podstaw :|

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • Kaik.. pamiętasz jaki trzeba było stworzyć tag aby wyświetlić w templatce button do logowania/rejestracji ?? U mnie pojawia się button jednak tak jakby nie był on podłączony

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • Beer jaki button zk czy fejsa ?

    zdefiniuj nie był podłączony

    Wczoraj siedziałem nad tym troszkę no kończę jeden projekt i chciałem tam też fejsa dodać zanim będę reklamował

    Ogólnie nie podoba mi się tam pare spraw w tym module i dalej mam problem z logowaniem tak naprawdę od ostatnich moich postów nie wnikałem w ten moduł dopiero wczoraj.

    Nie polecam testów na koncie admina tak jak wcześniej coś poszło nie tak i nie mogę się zalogować na konto użytkownika za pomocą loginu i hasła tzn bezpośrednio bez używania fejsa.

    Więcej info niebawem
  • ogolnie to chyba zaprzestali wsparcia dla tego modulu.. projekt zawieszony? z tego co czytalem jest robiony moduł, który pozwoli na logowanie sie do zikuli przez twittera, buzzza, facebooka itd.. jak narazie jest gotowa czesc dotyczaca tweetera, bardzo wielkie naciski sa aby facebooka dorobic do tego, jednak autor cos sie opiera... kurde szukałęm nazwy tego modułu nie znalazłem, ale długi temat na zikula.org był

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • Hmmm...
    Wszystko mi działa przerobiłem troszkę ten moduł wstawię paczkę niebawem może dzisiaj w nocy.
    Została mi jedna sprawa do zrobienia.
    Jeden krok...:)
  • Ok zapraszam do testów
    http://zikula.p…ost&post_id=75

    Połączyłem ten topik z wpisem w blogu na temat tego modułu.
  • Czyli teoretycznie wszystko prawidłowo działa ?

    Nie sprawdzałem, mam nawał pracy w pracy :/ Ale funkcjonalnośc chyba podobna do tej => http://www.naszanowazelandia.pl/

    --edit--

    U mnie się jakaś pętla zrobiła ;| Silcom.pl



    Edytowany przez BeeR o Lip 17, 2011 - 01:50 .

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • taaa robi sie wtedy gdy usuniemy użytkownika z zk, którego konto jest połaczone z fejsem
    fix na szybko phpMyAdmin tabela module_vars w niej szukamy modułu facebook i usuwamy wiersz, w którym jest Id usuniętego użytkownika.
  • tylko ze ja nic nie usuwałam :)

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • Może są jakieś dziwne wpisy w bazie danych z wcześniejszych prób. Gdybyś mogła sprawdzić w ww tabeli. Mnie na silcomie zarejestrowało i spoko działa loguje itp...