Google Developer ConsoleでGoogle OAuth 2.0 ClientID
およびsecret
を作成しました
その後、GoogleでテストしましたOAuth playground( https://developers.google.com/oauthplayground )。ClientID
およびsecret
は既に上記で作成され、Googleに適用されていますOAuth 2.0プレイグラウンド設定メニュー。
ClientID
/secret
を作成した後、テストに時間が必要だと言う人もいます。 2日後に同じ条件でテストしようとしましたが、エラーは同じですredirect_uri_mismatch
。
どうすれば解決できますか?
Uriの最後に「/」を付けて、コードの最後に同じ「/」を付けないというのは、それをスローします。
開発者コンソールのsite URL
とAuthorized redirect URIs
は完全に一致する必要があります。
この種のエラーは、1つのURLにwww
(http://www.example.com
)があり、他のURLがnon-www
(http://example.com
)である場合に発生します。
その他の一般的なURIの不一致は次のとおりです。
http://
を使用し、実際のURLとしてhttps://
を使用、またはその逆http://example.com/
)を使用し、実際のURLとして末尾のスラッシュ(http://example.com
)を使用しない、またはその逆Google Developer Consoleで承認済みリダイレクトURIを更新する手順(スクリーンショット付き)そのページにアクセスします)。
プロジェクトを選択してください
- メニューアイコンをクリックします
API Manager
メニューをクリックします
Credentials
メニューをクリックします。OAuth 2.0 Client IDs
の下に、クライアント名が表示されます。私の場合、Web Client 1
です。それをクリックすると、編集可能なポップアップが表示されますAuthorized Javascript OriginおよびAuthorized redirect URIs。
プロジェクトとクライアントIDの作成 に関するGoogleの記事を次に示します。
Console.developers.comで指定したものと完全に一致する必要があります。
私の場合、URLのwwwを見逃していました。
たとえば: http://www.google.com を指定しましたが、console.developers.comでは http://google.com を指定しました
それでもエラーがスローされます。したがって、完全に一致する必要があります。
このように、Google APIコンソールのリダイレクト設定の最後に「signin-google」を配置する必要があることに気付くまで、この同じエラーが続きました(つまり、NOT http://www.example。 org/api ):
http://www.example.org/api/signin-google
リダイレクトURI(OAuth応答が返される))は Google APIコンソール に登録する必要があり、エラーはそれを行っていないことを示しています。または正しく実行していません。
プロジェクトのコンソールに移動し、API Accessを確認します。リダイレクトURIのリストとともに、クライアントIDとシークレットが表示されます。目的のURIがリストにない場合は、[設定の編集]をクリックして、リストにURIを追加します。
Google-client-apiで、これらのフィールドの認証情報の値が、 Google APIコンソール から取得したものと一致することを確認してください。
$client->setClientId('xxx.apps.googleusercontent.com');
$client->setClientSecret('xxx');
$client->setRedirectUri('http://example.com/oauth2callback');
$client->setDeveloperKey('xx');
これは、setRedirectUriの値がGoogle APIコンソールで設定した値と異なる場合に発生する可能性があります。
(Magento 1. *)inchoo Social Connect Magento拡張機能を使用する場合:
OAuth 2.0
クライアントID):http://www.example.com/socialconnect/google/connect/
http://www.example.com
http://www.example.com
をドメインに置き換えることを忘れないでください