2016-11-13 19 views
7

Witam wszystkich Próbuję załadować google zdjęcie profilowe na moim miejscu i inne tehttp: 403 error zabronione podczas próby załadowania img src z profilu Google pic

Zrobiłem

var profile = googleUser.getBasicProfile(); 
profile.getImageUrl() 

kiedy zaloguj się z Google i zapisać URL obrazu do bazy danych, ale gdy próbuję umieścić go w SCR znacznika img jak tak

var img = document.createElement("img"); 
img.src = image; 
img.alt = "image"; 
img.style.float = "left"; 
divn.appendChild(img); 

otrzymuję 403 zakazane błąd czasami, ale czasami to działa tu jest link próbka że używam jednego, który jest przechowywany w bazie danych tylko zmienione nieco

https://lh4.googleusercontent.com/-OmV9386WzGk/AAAAFFFFAAI/AAAAAAAACpc/BEtVNh85tnk/s96-c/photo.jpg 

więc jestem po prostu zastanawiasz się, czy robię to dobrze uzyskania obrazu profilu, a jego dla innych użytkowników również na tej samej stronie

+4

3 lata później .. Mam do czynienia z tym samym problemem .. czy kiedykolwiek znalazłeś rozwiązanie tego problemu? – webkit

+0

Nie, po prostu postanowiłem nie używać logowania google. – JRowan

+1

wow. Marzec 2017 r. I nadal występuje ten problem. jeśli to rozwiążę, odpowiem na pytanie. Naprawdę chcę móc korzystać z logowania Google. –

Odpowiedz

1

Mogę sobie wyobrazić, że adres URL tworzony jest dynamicznie za każdym razem, gdy go o to poprosisz. Jest to wspierane przez fakt, że użytkownik musi być uwierzytelniony, aby pobrać that URL. (Jeśli użytkownik np. Wyloguje się z poprzednio autoryzowanej usługi/odwoła autoryzację, usługa nie będzie już mogła odzyskać obrazu profilu)

Zatem albo cały obraz przechowujesz jako blob w bazie danych, albo uwierzytelniasz i za każdym razem używaj Obiektu użytkownika do żądania adresu URL.

Należy również rozważyć użycie interfejsu API o nazwie here.