2014-06-24 15 views

Odpowiedz

113

trzeba dodać Google+ API do listy włączonych API w konsoli programisty Google (pod APIs)

Uwaga: Jeśli chcesz zobaczyć ponownie Komunikat o błędzie al, użyj funkcji traceback, aby przejrzeć zawartość zmiennej response (response) (response) (response). Używam do tego werkzeug (django-extensions + python manage.py runserver_plus).

+3

Dzięki za powrót z odpowiedzią – StringsOnFire

+1

Wow, ogromne +1 dla wskaźnika werkzeug. Został mi otwarty cały świat debugowania ... – mgalgs

+0

Uratowałeś mi dzień. Muszę włączyć interfejs Google+ API, nawet jeśli używam Oauth2. – schemacs

14

Dziękuję również. Używałem tego python-social-auth tutorial by art and logic, ale nie mogłem pominąć błędu 403: Zakazany błąd HTTPError w/complete/google-oauth2 /, dopóki nie zostanie włączony interfejs API Google+ powyżej: i czekam kilka minut, aż Google go włączy.

Dodatkowo musiałem umieścić szablony w katalogu szablonów i ustawić TEMPLATE_DIRS = ('/path/to/psa_test/thirdauth/templates/',) w settings.py.

Mam nadzieję, że to pomoże komuś po drodze. W sumie, zajęło to około 6 godzin, aby to zrozumieć. Nie jest tak źle, jestem szczęśliwy.

+3

Cholera. Dziękuję Ci. Tak wiele. Zrobiłem już to, co konieczne, ale wciąż nie działało. Wszystko, co musiałem zrobić, to poczekać ~ 5 minut i magia, działało. – janos

+1

W razie wątpliwości odczekaj 5 minut! Uwielbiam asynchronizację sieci. –

2

Dla mnie używałem pełną-URI zakres która jest nieaktualna przez Google od 1 września 2014 roku, to jest wymienione w dokumentacji python-społeczno-auth tutaj

http://psa.matiasaguirre.net/docs/backends/google.html#google-oauth2

Google wycofuje zakresy pełnego urlera od 1 września 2014 r. na rzecz Google+ API i ostatnio wprowadzone nazwy krótszych zakresów. Ale python-social-auth wprowadził już zmianę zakresów w e3525187, która została wydana pod adresem v0.1.24.

Jednak jeśli nie chcesz włączyć API Google+ z dowolnego powodu i chce kontynuować pracę z pełnym zakresem uri starego trzeba wykonać czynności wymienione w tym samym linkiem:

# Google OAuth2 (google-oauth2) 
SOCIAL_AUTH_GOOGLE_OAUTH2_IGNORE_DEFAULT_SCOPE = True 
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [ 
'https://www.googleapis.com/auth/userinfo.email', 
'https://www.googleapis.com/auth/userinfo.profile' 
] 

# Google+ SignIn (google-plus) 
SOCIAL_AUTH_GOOGLE_PLUS_IGNORE_DEFAULT_SCOPE = True 
SOCIAL_AUTH_GOOGLE_PLUS_SCOPE = [ 
'https://www.googleapis.com/auth/plus.login', 
'https://www.googleapis.com/auth/userinfo.email', 
'https://www.googleapis.com/auth/userinfo.profile' 
] 

SOCIAL_AUTH_GOOGLE_OAUTH2_USE_DEPRECATED_API = True 
SOCIAL_AUTH_GOOGLE_PLUS_USE_DEPRECATED_API = True 

To działało dla mnie, ponieważ nie chciałem włączać interfejsu Google+ API w tym momencie.

Powiązane problemy