Przede wszystkim chciałbym przeprosić społeczności, jeśli jest to repost. Szukałem stackoverflow za coś, co może mi pomóc w tej sprawie, ale moje wyszukiwanie nie zakończyło się bez powodzenia. Więc tutaj przychodzi mój problem.

Może to mój brak umiejętności, ale osobiście nie mogłem zupełnie zrozumieć moją drogę dzięki dokumentacji Django_Facebook. Przeszedłem przez całą rzecz, a nawet jeśli myślę, że wszystkie elementy są dobrze wyjaśnione, tworząc wielkie zdjęcie, było dla mnie dość trudne ...

Udało mi się podłączyć Django_facebook z aplikacją na Facebooku, a nawet logowanie, ale czego nie mogłem zrobić, to ciągnąć informacje o użytkowniku, który jest zalogowany. Moim celem jest zezwolenie użytkownikom logowania się z Facebook na mojej stronie internetowej i pociągnąć Ich podstawowe informacje z Facebooka, dzięki czemu mogę sugerować je jako informacje o użytkowniku dla swojego profilu na mojej stronie internetowej.

Byłbym naprawdę wdzięczny, jeśli możesz wyjaśnić cały login / rejestr i dokładnie uzyskać informacje o procesie użytkownika.

Str.s. Ktoś zasugerował mi Django_allauth. Powinienem włączyć na to? Jeśli tak, jakie byłyby plusy i minusy zarówno Djang_facebook, jak i Django_allauth? P.P.S. Nie byłem także w stanie znaleźć żadnego przyzwoitego torucji dla Django_facebook ani Django_allauth. Jeśli masz jakieś, daj mi linki :)

2
Jovan Andonov 18 sierpień 2014, 14:19

2 odpowiedzi

Najlepsza odpowiedź

Tutaj jest samouczkiem Wyjaśnienie, jak korzystać z all_auth do uwierzytelniania społecznego. Możesz uzyskać dostęp do danych z obiektu Allauth bezpośrednio, używając fragmentu kodu jak poniższe w swoim {x0}}:

Najpierw uzyskaj informacje z konta za pomocą:

account_uid = SocialAccount.objects.filter(user_id=request.user.id, provider='facebook')

Następnie, przy użyciu przypisanych poniżej atrybutów członkowskich, można uzyskać parametry, które zostały udostępnione publiczne.

account_uid[0].get_avatar_url()
account_uid[0].extra_data['username']
account_uid[0].extra_data['first_name']
account_uid[0].extra_data['last_name']
account_uid[0].extra_data['gender']
account_uid[0].extra_data['email']
account_uid[0].extra_data['link']
account_uid[0].extra_data['uid']
1
Anshul 18 sierpień 2014, 19:17

Szybki przegląd Django-Facebooka sugeruje mi, że informacje są zapisywane

BaseFacebookModel

Jest więc sygnał o nazwie Post_Connect. Możesz użyć, który pobierasz informacje z powyższego modelu i zapisz go do swojego profilu, jeśli chcesz.

Również w Django-Allauth można łatwo zrobić. Zrobiłem to za pobieranie daty urodzenia. Jest model o nazwie Socjakon, który przechowuje publiczne informacje użytkownika. Dodatkowe dane są przechowywane w formie JSON. Możesz po prostu użyć tych danych i używać go w Użytkowniku, po uwierzytelnieniu użytkownika.

Daj mi znać, jeśli to pomoże.

1
vibhor 18 sierpień 2014, 15:37