nieprawidłowy_klient w google oauth2

87

Próbuję zrobić stronę internetową do wgrywania filmów na youtube, dlatego staram się pobrać identyfikator klienta z konsoli google api, aw konsoli api pokazuje coś takiego:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground

Jednak gdy próbuję przetestować swoje konto przy użyciu następującego adresu URL:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = code & access_type = offline

Podaje wynik invalid_client. Nawet kiedy spróbuję na OAuth2 Playground, zdarza się to samo

Więc ktoś wie, co się stało?

Pion
źródło
8
Okazało się, że czasami identyfikator klienta oauth2 nie działa. Nie wiem dlaczego, ale kiedy otwieram nowe konto i ponownie tworzę identyfikator klienta, działa.
Bob
3
Bob ma rację, utworzenie identyfikatora klienta rozwiązuje ten problem
Gabo Esquivel
11
Upewnij się, że podczas kopiowania / wklejania identyfikatora klienta nie zawiera spacji na końcu. To
załatwiło sprawę
1
dla mnie zregenerowałem sekret klienta i wykorzystuję, że zadziałał. Wygląda na to, że interfejs API jest nadal niestabilny.
Muhammad Talal

Odpowiedzi:

113

Ustaw / zmień nazwę produktu, miałem ten problem, dopóki nie utworzyłem nazwy produktu takiej samej jak nazwa projektu.

Nazwę produktu można ustawić w sekcji Ekran zgody w Google Developers Console dla swojego projektu. Zajrzyj do sekcji APIs & auth w lewym panelu nawigacyjnym i wybierz opcję Consent screen. Musisz również ustawić swój adres e-mail w polu nad nazwą produktu.

jojay
źródło
4
Dziękuję Ci!! Otrzymałem błąd „” Błąd: nieprawidłowy_klient. Nie znaleziono klienta OAuth ”. Zmarnowałem dzisiaj kilka godzin, ale właśnie zaktualizowałem nazwę produktu i hej-presto, problem został rozwiązany. Ten błąd jest tak mylący.
IanB,
2
Jaka jest nazwa produktu?
Hubert OG
4
Jest na ekranie akceptacji. Musisz wypełnić pole „NAZWA PRODUKTU”
Foo L
2
To zadziałało. Aby być zwięzłym: ustaw pola „NAZWA PRODUKTU” I „ADRES E-MAIL”.
b_archer
2
Dzięki! Uratowałem mój dzień! I muszę powiedzieć, że spośród wszystkich dostawców usług społecznościowych Google ma gorszą dokumentację i najgorszy interfejs użytkownika. Jest to przytłaczające i mylące wraz z ich złą nawigacją. Prawie zawsze zapominam, jak przejść do strony konfiguracji projektu lol.
tintinboss
69

Po skopiowaniu wartości z interfejsu internetowego Google miałem puste miejsce na:

  • client_id
  • secret

I na POCZĄTKU i na KONIEC dla obu.

Rael Gugelmin Cunha
źródło
2
Ten problem nadal występuje: P
Abhinay,
1
Niewiarygodne, nawet po kliknięciu przycisku „kopiuj” w konsoli API ... Można by pomyśleć, że obszar deweloperów Google byłby wrażliwy na białe znaki!
Reisclef
Również tutaj niewiarygodne. Usuń te dodatkowe spacje po obu stronach łańcucha. Następnie, jeśli po wykonaniu wszystkiego, co zostało tutaj powiedziane i nic nadal nie działa, usuń aplikację / projekt i utwórz go ponownie, ponieważ mogą wystąpić problemy z buforowaniem.
eigenfield
1
Tak, problem nadal istnieje !!! O kurczę. Pominąłem jedną spację i nie widziałem go do ponownego sprawdzenia. Dzięki.
LukasS
1
cerować! Widziałem spację na końcu i usunąłem ją, ale nie sprawdzałem spacji na początku.
sulabh
41

Przytnij wiodący i końcowy biały znak zarówno z, jak client_idi client_secret. Przycisk kopiowania Google nie robi tego za Ciebie.

wprowadź opis obrazu tutaj

Ustaw pola adresu e-mail i nazwy produktu na ekranie akceptacji OAuth.

wprowadź opis obrazu tutaj

Shaun Luttin
źródło
3
Prawdopodobnie nie powinieneś ujawniać tajemnicy swojego klienta w takiej odpowiedzi.
Fernando
1
@Fernando To konto do wyrzucenia.
Shaun Luttin,
Uff. Martwiłem się tam Shaun: D
Fernando
3
Jak doszedłeś do tego ekranu?
Anthony Kong
2
„Wyrzuć konto” - nie dla Google, które śledzi Cię i łączy wszystkie konta, których kiedykolwiek używałeś, z „kontami powiązanymi”. A gdy Google zbanuje jedno z kont - cały pakiet zostanie zablokowany. Wystarczy wyszukać „Konto programisty Google zamknięte” na Reddicie .
Alexander Farber
16

Ustawienie ADRESU EMAIL i NAZWY PRODUKTU na ekranie akceptacji konsoli programisty Google rozwiązuje błąd „Błąd: nieprawidłowy_klient. Nie znaleziono klienta OAuth”. dla mnie.

S.Roshanth
źródło
9

W moim identyfikatorze miałem dwukrotnie domenę .apps.googleusercontent.com.

To był problem z kopiowaniem i wklejaniem „Your ID HERE” .apps.googleusercontent.com

Chris Carr
źródło
5
Moje było puste miejsce po obu stronach: /
Christian
Dzięki Chris. Pomogło mi.
Kiran Pawar
7

w tym wątku znalazłem odpowiedź.

  1. Poszedłem do konsoli Google,
  2. wygeneruj nowy projekt, zrobiłem odświeżenie, bo w moim przypadku po utworzeniu strona nie ładowała się ponownie
  3. wybierz nowy projekt
  4. utwórz identyfikator klienta
  5. używaj go do tego, czego potrzebujesz

dzięki chłopaki: D

Pedro Romão
źródło
6

invalid_client może również po prostu oznaczać, że twój identyfikator klienta i klucz tajny klienta są błędne podczas tworzenia obiektu Oauth2.

jdcaron
źródło
5

W moim przypadku okazało się to czymś innym, mianowicie mój kod używał zmiennej środowiskowej, która nie została poprawnie ustawiona (i głupio nie została sprawdzona przez mój kod). Ustawienie go, ponowna kompilacja zasobów i ponowne uruchomienie aplikacji załatwiły sprawę.

Josh Diehl
źródło
1
To samo tutaj;
Ustawiłem
5

Jeśli postępujesz zgodnie z dokumentacją, z tej strony https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

zobaczysz

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Ale to źle. Powinno być

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">

Problem polega na tym, że „.apps.googleusercontent.com” i tak zostaje dodane. Jeśli zrobisz to tak, jak mówi dokumentacja, otrzymasz dwukrotnie adres „.apps.googleusercontent.com”

aaronvargas
źródło
Wielkie dzięki. Zmiana tego, jak sugerowałeś, załatwiła sprawę.
Pavan Dittakavi
4

Rozwiązałem ten problem, usuwając niepotrzebne cytaty z moich wartości clientID i clientSecret.

OsoGrizz
źródło
Pan / Pani jest legendą! Usunąłem cudzysłowy ze zmiennych środowiskowych Heroku.
grabury,
2

Czy błąd zgłosił również brak nazwy aplikacji? Miałem ten problem, dopóki nie utworzyłem nazwy projektu (np. „Projekt X”) w oknie dialogowym ustawień projektu.

random_stackoverflow_user
źródło
2

prawdopodobnie stare dane uwierzytelniające są nieprawidłowe

zobacz odpowiedź poniżej

odpowiedź stackoverflow

lub krótkie nazwy mogą działać

zobacz odpowiedź poniżej odpowiedź stackoverflow

lub nazwa produktu taka sama jak nazwa projektu, na którą już udzielono odpowiedzi

czasami można umieścić dodatkową przestrzeń w

sprawdź dwukrotnie tę linię, aby przejść do właściwego adresu URL

Charles Dominic
źródło
1

Rozwiązałem swój problem z wykończeniem:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],
parastoo amini
źródło
0

Sprawdź nazwę swojego projektu w konsoli Google API. wybierasz inny utworzony projekt. Byłem ten sam błąd. moim błędem było wybranie innego projektu.

Dio Blando
źródło
0

At Credentials Akceptuj żądania od tych stron odsyłających HTTP (witryn internetowych) (Opcjonalnie) Użyj gwiazdek dla symboli wieloznacznych. Jeśli pozostawisz to pole puste, żądania będą przyjmowane od każdej strony odsyłającej. Pamiętaj, aby dodać odsyłacze przed użyciem tego klucza w środowisku produkcyjnym. Dodaj . (gwiazda, kropka, gwiazda). U mnie działa dobrze

HuyLe
źródło
0

Przypadkowo znalazłem wartość w części klucza klienta w adresie URL, ale poświadczenia Google nie potrzebują klucza klienta dla identyfikatorów klienta OAuth 2 w Androidzie. Po prostu pozostawienie pustej wartości w adresie URL załatwiło sprawę.

Jason Washo
źródło
0

Kroki, które zadziałały dla mnie:

  1. Usuń dane logowania, które nie działają dla Ciebie
  2. Utwórz nowe dane logowania z jakimś NAME
  3. Wpisz to samo NAZWISKO na ekranie akceptacji OAuth
  4. Wpisz adres e-mail na ekranie akceptacji OAuth

Nazwa powinna być dokładnie taka sama.

syntagma
źródło
0

Kolejna rzecz do sprawdzenia:

Po zainstalowaniu interfejsów API Google w aplikacji .Net za pomocą narzędzia NuGet zostanie wprowadzony nowy zestaw wartości fikcyjnych w pliku * .config.

Sprawdź, czy oryginalne wartości są nadal na miejscu i usuń fikcyjne wpisy.

Iain Ballard
źródło
0

Żaden z poniższych nie był moim problemem - rozwiązałem go, otwierając okno incognito. Coś najwyraźniej było gdzieś buforowane, nie pomogła żadna zmiana ustawień klienta uwierzytelniania i nigdy nie było żadnych końcowych ani początkowych spacji w wartościach konfiguracyjnych.

cloakedninjas
źródło
0

Usunięcie identyfikatora klienta i kilkukrotne utworzenie nowego zadziałało.

Haris ur Rehman
źródło
0

Mój nie działał, ponieważ utworzyłem go z przycisku z dokumentacji. Wróciłem do projektu i utworzyłem kolejny OAuthClientID. Zadziałało. Tak, uważaj również na dodatkowe spacje po prawej i lewej stronie.

Hemant Sharma
źródło
0

Aby uzyskać najlepsze wyniki, upewnij się, że masz pełne dane w następujący sposób:

{"client_id":"282324738-4labcgdsd4nlh34885s2d34tmi.apps.googleusercontent.com","project_id":"abcd23ss-212808","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"23452-dfgdfgcdfgfd","redirect_uris":["http://localhost:6900/auth/google/callback"],"javascript_origins":["http://localhost:6900"]}

Te dane są zawsze dostępne do pobrania jako JSON ze strony https://console.developers.google.com/apis/credentials/oauthclient/

Abhay Shiro
źródło
0

Jeśli jesteś w Meteor JS, musisz użyć clientId zamiast appId :

Ponieważ facebook używa appId i google clientId.

ServiceConfiguration.configurations.upsert({
    service: "google"
}, {
    $set: {
        clientId: process.env.OAUTH_GOOGLE_APP_ID,
        loginStyle: "popup",
        secret: process.env.OAUTH_GOOGLE_SECRET
    }
});

Spędziłem kilka godzin, żeby to zrozumieć.

Ivan Cabrera
źródło
0

Żałuję, że nie widziałem tego posta wcześniej, ponieważ jest wiele rzeczy, o których musiałem się dowiedzieć metodą prób i błędów. Wiele może się z tym nie udać. Oto kolejny problem, który miałem:

Jeśli określisz autoryzowane źródła JavaScript lub identyfikatory URI autoryzowanego przekierowania, pamiętaj o dołączeniu domeny z przedrostkiem www i bez niego. A więc https://google.com i https://www.google.com

Wgrałem również logo aplikacji. Z tego powodu ekran zgody wymagał przeglądu ... co trwa wiecznie. Nie przesyłaj logo aplikacji ani nie bądź bardzo cierpliwy.

eliud
źródło