Wie melde ich mich mit Django bei der Google+ API an?
Wie könnte ich gehen Sie zum hinzufügen eines Google+ - API-Zeichen-in meinem Django-website?
Kommentar zu dem Problem - Öffnen
Wie Sie Zeichen-mit Google oauth in python?
InformationsquelleAutor der Frage Piyush aggarwal | 2015-03-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst müssen Sie erstellen OAuth-Anmeldeinformationen für Google+.
Nun fügen wir
python-social-auth
auf Ihre Django-app.python-social-auth
mitpip
Legen Sie die entsprechenden Django-Einstellungen:
'social.apps.django_app.default'
zuINSTALLED_APPS
:SOCIAL_AUTH_GOOGLE_OAUTH2_KEY
undSOCIAL_AUTH_GOOGLE_OAUTH2_SECRET
Einstellungen mit dem client-Schlüssel und das Geheimnis, das Sie zuvor erstellt haben. Die client-Schlüssel ist die "Client-ID" aufgeführt in den "Anmeldeinformationen" - Bildschirm in der Google developer console, die in endet ".apps.googleusercontent.com". Nehmen Sie nur den Teil vor dem Punkt. Das Geheimnis ist gelistet als "Client secret".Stellen Sie sicher, dass die
AUTHENTICATION_BACKENDS
Einstellung ausdrücklich festgelegt, und es enthält'social.backends.google.GoogleOAuth2'
. Ein Beispiel wäre:Definieren die
SOCIAL_AUTH_PIPELINE
Einstellung, wie detailliert im die python-social-auth-Dokumentation. Was jede Einstellung ist aufgelistet auf dieser Seite.Wenn Sie etwas zu tun mit den Informationen, die Sie von Google+, ich empfehle das definieren einer Funktion:
wo
user
ist eindjango.contrib.auth.models.User
Objekt, undresponse
ist ein Wörterbuch. Dann fügen Sie die Funktion, um dieSOCIAL_AUTH_PIPELINE
mit den vollen Modul-Pfad, nachcreate_user
.Wenn Sie nicht wollen, etwas zu tun, dass die Informationen, die Sie können lassen Sie die Standard-pipeline ist.
Schließlich werden Sie wollen, fügen Sie die
python-social-auth
urls Ihrer Websiteurlpatterns
:Und das sollte es tun! Es ist Zeit für die Prüfung. Zuerst
./manage.py makemigrations
für die erforderlichen Migrationen derpython-social-auth
, und dann./manage.py migrate
erläutert hier. Dann können Sie den Entwicklungs-server, und gehen Sie zu http://localhost:8000/soc/login/google-oauth2/?next=/ .Hoffentlich habe ich nicht überspringen, erklären jeden Schritt und es wird funktionieren. Fühlen Sie sich frei, um weitere Fragen zu stellen und Lesen Sie die Dokumentation. Auch hier ist eine Beispiel, dass Sie ausprobieren sollten.
InformationsquelleAutor der Antwort rhaps0dy
@rhaps0dy's Antwort ist richtig, aber
python-social-auth
ist veraltet und wird migriert, wiesocial-auth-app-django
. Also das ist, was ich gemacht anders @rhaps0dy Richtlinien.python-social-auth
ich installiertsocial-auth-app-django
,'social.apps.django_app.default'
wird'social_django'
'social.backends.google.GoogleOAuth2'
ist jetzt'social_core.backends.google.GoogleOAuth2'
url("^soc/", include("social.apps.django_app.urls", namespace="social"))
wirdurl("^soc/", include("social_django.urls", namespace="social"))
InformationsquelleAutor der Antwort Georgi Yanchev