invalid_client у google oauth2


87

Я намагаюся зробити веб-сторінку для завантаження відео YouTube, тому намагаюся отримати ідентифікатор клієнта з консолі google api, і в консолі api він показує щось подібне:

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

Однак, коли я намагаюся протестувати свій рахунок, використовуючи таку 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%3 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = code & access_type = offline

Він видає результат invalid_client. Навіть коли я пробую це на майданчику oauth2, трапляється така ж помилка

Тож хтось знає, що сталося?


8
Я виявив, що іноді ідентифікатор клієнта oauth2 не працює. Не знаю чому, але коли я відкриваю новий рахунок і знову створюю ідентифікатор клієнта, це працює.
Боб,

3
Боб правий, створення ідентифікатора клієнта вирішує цю проблему
Габо Есківель,

11
Переконайтесь, що при копіюванні / вставці ідентифікатора клієнта ви не включаєте кінцевий пробіл. Це зробило трюк для мене ...
andig

1
для мене я відновив клієнтський секрет і використовую, що він працював. Здається, api все ще нестабільний.
Мухаммед Талал

Відповіді:


113

Встановіть / змініть назву товару, у мене виникла ця проблема, доки я не створив назву товару, таку ж, як назва проекту.

Назву продукту можна встановити в розділі екрана "Згода" на Консолі розробників Google для вашого проекту. Подивіться на розділ API & auth на лівій навігаційній панелі та виберіть екран Згода. Вам також потрібно встановити свою адресу електронної пошти у полі над назвою продукту.


4
Дякую!! Я отримував помилку "" Помилка: invalid_client. Клієнта OAuth не знайдено. "Сьогодні
витратив

2
Яка назва товару?
Губерт О.Г.

4
Це на екрані згоди. Ви повинні заповнити поле "ІМЯ ТОВАРУ"
Foo L

2
Це спрацювало. Щоб бути стислим: встановіть і поля "ІМЯ ПРОДУКТА" І "ЕЛЕКТРОННА АДРЕСА"
b_archer

2
Дякую! Врятував мій день! І я повинен сказати, що серед усіх соціальних провайдерів Google має гірші документи та найгірший інтерфейс. Це так приголомшливо і заплутано разом із поганою навігацією. Я майже завжди забуваю, як перейти на сторінку конфігурації проекту, ха-ха.
tintinboss

69

Після копіювання значень з веб-інтерфейсу Google у мене залишилося порожнє місце для:

  • client_id
  • secret

І НА ПОЧАТКУ, і в КІНЦІ для обох.


2
Ця проблема все ще зберігається: P
Абхінай

1
Неймовірно, навіть коли ви натискаєте кнопку "копіювати" на консолі API ... Ви думаєте, що область розробників Google буде чутливою до пробілів!
Reisclef

Тут також неймовірно. Видаліть зайві пробіли з обох сторін рядка. Тоді, якщо після виконання всього, що було сказано тут, і все ще нічого не працює, видаліть додаток / проект і повторно створіть його знову, тому що можуть виникнути проблеми з кешуванням.
власне поле

1
Так, проблема все ще існує !!! Святе гімно. Я пропустив один пробіл і не побачив його до перепровірки. Дякую.
LukasS

1
блін! Я побачив простір в кінці і видалив його, але спочатку не перевіряв наявність місця.
сулабх

41

Обріжте пробіли, що ведуть і в кінці, як з, так client_idі з client_secret. Кнопка Google Copy не робить цього за вас.

введіть тут опис зображення

На екрані згоди OAuth встановіть поля електронної адреси та імені продукту.

введіть тут опис зображення


3
Ймовірно, ви не повинні залишати клієнта в таємниці викритим у такій відповіді.
Фернандо

1
@Fernando Це викинутий рахунок.
Шон Луттін,

Фу. Потурбував мене там Шон: D
Фернандо

3
Як ви потрапили на цей екран?
Ентоні Конг,

2
"Викинути рахунок" - не для Google, який відстежує вас і поєднує всі облікові записи, які ви коли-небудь використовували для "пов’язаних облікових записів". І як тільки Google забороняє один з облікових записів - весь пакет блокується. Просто знайдіть на Reddit "Обліковий запис розробника Google припинено" .
Олександр Фарбер

16

Встановлення АДРЕСИ ЕЛЕКТРОННОЇ пошти та НАЗВА ПРОДУКТА на екрані згоди консолі розробника Google вирішує помилку "Помилка: invalid_client. Клієнта OAuth не знайдено." для мене.


9

У мене було два рази .apps.googleusercontent.com.

Це було питання копіювання та вставлення "Ваш ідентифікатор ТУТ" .apps.googleusercontent.com


5
У мене залишилося порожнє місце з обох кінців: /
Крістіан

Дякую Кріс. Мені це допомогло.
Кіран Павар

7

у цій темі я знайшов свою відповідь.

  1. Я зайшов на консоль Google,
  2. створити новий проект, зробив оновлення, тому що в моєму випадку після створення сторінка не перезавантажилася
  3. вибрати новий проект
  4. створити ідентифікатор клієнта
  5. використовуйте його для того, що вам потрібно

дякую хлопці: D


6

invalid_client може також просто означати, що ваш ідентифікатор клієнта та секрет клієнта помилкові, коли ви створюєте свій об'єкт Oauth2.


5

У моєму випадку це виявилося чимось іншим, а саме мій код використовував змінну середовища, яка була неправильно встановлена ​​(і тупо не перевірена моїм кодом). Налаштування, перекомпіляція активів та перезапуск програми зробили свою справу.


1
Те ж саме; Я встановив його, але забув перезапустити термінал
quicklikerabbit

5

Якщо ви будете слідувати документації, на цій сторінці https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

ви побачите

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

Але це неправильно. Вона повинна бути

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

Проблема в тому, що ".apps.googleusercontent.com" все одно додається. Якщо ви зробите це, як сказано в документації, ви отримаєте ".apps.googleusercontent.com" двічі


Дуже дякую. Змінивши його, як ви пропонували, зробив свою справу.
Паван Діттакаві

4

Я вирішив це, видаливши непотрібні лапки зі своїх значень clientID та clientSecret.


Ви сер / мам - легенда! Я видалив лапки зі своїх змінних середовища Heroku.
захоплення

2

Чи помилка також повідомляла, що в ній не вказано ім’я програми? У мене була ця проблема, доки я не створив назву проекту (наприклад, "Project X") у діалоговому вікні налаштувань проекту.


2

ймовірно, старі облікові дані недійсні

дивіться відповідь нижче

відповідь stackoverflow

або короткі імена можуть працювати

див. відповідь нижче відповіді stackoverflow

або назва продукту така ж, як назва проекту, на яку вже відповіли

іноді можна включити додатковий простір у

двічі перевірте цей рядок, щоб вас перенаправили на правильну URL-адресу


1

Я вирішив свою проблему з обробкою:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],

0

Перевірте назву проекту на консолі API Google. ви вибираєте інший створений вами проект. Я був такою ж помилкою. моя помилка була у виборі різного проекту.


0

На облікові дані Приймайте запити від цих рефералів HTTP (веб-сайти) (Необов’язково) Використовуйте зірочки для символів підстановки. Якщо залишити це поле порожнім, запити прийматимуться від будь-якого реферала. Не забудьте додати реферали, перш ніж використовувати цей ключ у виробництві. Додати . (зірка крапка зірка). Для мене це прекрасно працює


0

Я випадково мав значення у частині URL-адреси Client Secret, але Google Credential не потребує Client Secret для ідентифікаторів клієнта OAuth 2 для Android. Просто залишити значення порожнім у URL-адресі зробило для мене фокус.


0

Кроки, які працювали для мене:

  1. Видаліть облікові дані, які не працюють для вас
  2. Створіть нові облікові дані з деяким NAME
  3. Заповніть те саме ІМЯ на екрані згоди OAuth
  4. Введіть адресу електронної пошти на екрані згоди OAuth

Назва повинна бути точно такою ж.


0

Ще щось слід перевірити:

Коли ви встановлюєте GoogleAPI в програму .Net із NuGet, він вводить новий набір фіктивних значень у ваш файл * .config.

Переконайтесь, що оригінальні значення все ще на місці, і видаліть фіктивні записи.


0

Жодне з наведеного нижче не було моєю проблемою - я вирішив це, відкривши вікно анонімного перегляду. Щось, очевидно, десь було кешовано, жодна зміна налаштувань клієнта аутентифікації не допомогла, і у значеннях конфігурації ніколи не було пробілів або провідних пробілів.



0

Моє не працювало, тому що я створив його за допомогою кнопки з документації. Я знову перейшов до проекту і створив інший OAuthClientID. Це спрацювало. Так, будьте обережні щодо зайвих пробілів праворуч і ліворуч.


0

Для досягнення найкращих результатів переконайтеся, що у вас є повна інформація наступним чином:

{"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"]}

Ці дані завжди доступні для завантаження у форматі JSON з https://console.developers.google.com/apis/credentials/oauthclient/


0

Якщо ви перебуваєте в Meteor JS, вам потрібно використовувати clientId замість appId :

Оскільки facebook використовує appId та google clientId.

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

Я витратив кілька годин, щоб усвідомити це.


0

Мені б хотілося, щоб я бачив цю публікацію раніше, тому що є багато речей, які мені довелося з’ясувати методом спроб і помилок. З цим багато чого може піти не так. Ось ще одне питання у мене було:

Коли ви вказуєте авторизовані джерела Javascript або авторизовані URI-адреси для перенаправлення, обов’язково включайте свій домен із www та без неї. Тож https://google.com та https://www.google.com

Також я завантажив логотип програми. Через це екран згоди вимагав перевірки ... яка триває вічно. Не завантажуйте логотип програми або будьте дуже терплячі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.