私はyoutubeビデオアップロード用のWebページを作成しようとしています。そのため、Google APIコンソールからクライアントIDを取得しようとします。APIコンソールでは次のように表示されます。
Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground
ただし、次のURLを使用してアカウントをテストしようとすると:
Invalid_clientの結果を提供します。 oauth2プレイグラウンドで試しても、同じ失敗が発生します
だから誰もが何が起こっているのか知っていますか?
製品名を設定/変更します。プロジェクト名と同じ製品名を作成するまでこの問題がありました。
製品名は、プロジェクトのGoogle Developers Consoleの[同意画面]セクションで設定できます。左側のナビゲーションで[APIと認証]を確認し、[同意画面]を選択します。また、製品名の上のボックスにメールアドレスを設定する必要があります。
Google Web UIから値をコピーした後、次のスペースが空いていました。
client_id
secret
先頭および末尾の両方で。
Google開発者コンソールの同意画面でEMAIL ADDRESSとPRODUCT NAMEを設定すると、エラー「エラー:invalid_client。OAuthクライアントが見つかりませんでした」が解決されます。私のために。
IDに.apps.googleusercontent.comを2回使用しました。
「Your ID HERE」.apps.googleusercontent.comのコピーアンドペーストの問題でした
このスレッドで答えを見つけました。
みんなありがとう:D
invalid_clientは、Oauth2オブジェクトを作成するときにクライアントIDとクライアントシークレットが間違っていることも意味します。
私の場合、これは他の何かであることが判明しました。つまり、コードは適切に設定されていない環境変数を使用しました(そして、コードによって愚かにチェックされませんでした)。設定、アセットの再コンパイル、アプリの再起動がうまくいきました。
ClientIDとclientSecretの値から不要な引用符を削除することでこれを解決しました。
おそらく古い資格情報は無効です
以下の回答をご覧ください
または短縮名が機能する場合があります
以下の回答を参照してください stackoverflow answer
または既に答えられているプロジェクト名と同じ製品名
時には余分なスペースを
この行を2回チェックして、正しいURLにリダイレクトされるようにします
エラーは、アプリケーション名が欠落していることも報告しましたか?プロジェクト設定ダイアログでプロジェクト名(例:「プロジェクトX」)を作成するまでこの問題がありました。
ドキュメントに従う場合は、このページから 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」が2回取得されます
トリムで私の問題を解決しました:
'google' => [
'client_id' =>trim('client_id),
'client_secret' => trim('client_secret'),
'redirect' => 'http://localhost:8000/login/google/callback',
],
私のために働いたステップ:
名前はまったく同じである必要があります。
次のどれも私の問題ではありませんでした-シークレットウィンドウを開くことでこれを解決しました。何かが明らかにどこかにキャッシュされていて、認証クライアントの設定を変更することはまったく役に立たず、設定値に末尾または先頭のスペースはありませんでした。
最良の結果を得るには、次の完全な詳細を確認してください。
{"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"]}
このデータは https://console.developers.google.com/apis/credentials/oauthclient/ からJSONとして常にダウンロードできます。
資格情報で、これらのHTTPリファラー(Webサイト)からの要求を受け入れます(オプション)ワイルドカードにアスタリスクを使用します。これを空白のままにすると、リファラーからのリクエストが受け入れられます。本番環境でこのキーを使用する前に、リファラーを必ず追加してください。 。(スタードットスター)を追加します。それは私のためにうまくいきます
クライアントIDを削除し、新しいIDを2、3回作成するとうまくいきました。
URLのクライアントシークレット部分に誤って値を設定しましたが、Google資格情報にはAndroid OAuth 2クライアントIDのクライアントシークレットが必要ありませんURLの値を空白のままにするだけで、私にとってはうまくいきました。
私は、ドキュメントのボタンから作成したため、機能しませんでした。私は再びプロジェクトに行き、別のOAuthClientIDを作成しました。出来た。はい、左右の余分なスペースにも注意してください。
確認するもう1つのこと:
NuGetを使用してGoogleAPIを.Netアプリにインストールすると、*。configファイルに新しいダミー値のセットが挿入されます。
元の値が残っていることを確認し、ダミーエントリを削除します。
Google APIコンソールでプロジェクト名を確認してください。作成した別のプロジェクトを選択します。私は同じエラーでした。私の間違いは、異なるプロジェクトを選択することでした。