web-dev-qa-db-ja.com

Google+共有APIでOrigin_mismatchエラーが発生しました

Google +でいくつかの動的コンテンツを共有したい。このために私はそれをチェックしました https://developers.google.com/+/web/share/interactive#rendering_the_button_with_javascript

<head>
<script type="text/javascript">
  (function() {
   var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
   po.src = 'https://apis.google.com/js/client:plusone.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
 })();
</script>
</head>
<body>
<button
  class="g-interactivepost"
  data-contenturl="http://www.pubandbar-network.co.uk/" 
  data-clientid="102180630313.apps.googleusercontent.com"
  data-cookiepolicy="single_Host_Origin">  Share 
</button>
</body>

しかし、実行するとこのエラーが発生します

Error: Origin_mismatch
Request Details

    scope=https://www.googleapis.com/auth/plus.login
    response_type=code token id_token gsession
    access_type=online
    redirect_uri=postmessage
    cookie_policy=single_Host_Origin
    proxy=oauth2relay554026710
    Origin=http://www.pubandbar-network.co.uk
    state=1995523240|0.4607792083184853
    display=page
    client_id=102180630313.apps.googleusercontent.com
    authuser=0

これを修正する方法を提案してください

23
user2439124

通常、オリジンの不一致は、Javascriptのオリジンが APIプロジェクトコンソール で正しく設定されていないことが原因です。 Javascriptの発信元が、リクエストの送信元であり、サインイン後にユーザーを返すドメインと一致することを確認する必要があります。

詳細については、開発者向けドキュメントの 「クライアントIDとクライアントシークレットを作成する」セクション をご覧ください。

注:ここでよくある間違いは、http://ではなくhttps://ではなく(またはその逆)javascriptの起源を追加することです。ユーザーが両方からサイトにアクセスできるようにする場合は、javascriptコンソールに両方をリストする必要があります。

注(Bethel Gokaに感謝):ユーザーがサイトにアクセスするときにURLにポート番号が表示される場合は、javascriptオリジンにサーバーのポート番号を含める必要があります。

46
Lee

「www」を削除することで機能しました。 Googleコンソールから。私は単に http://example.com を使用しましたが、うまくいきました...

8
user3981671

VSユーザーの場合:
プロジェクトのプロパティを開き、プロジェクトURLを取得:

enter image description here
これはJavascriptの起源です

リダイレクトURIも変更します。オリジン+ "/ oauth2callback"でなければなりません
私にとって:

enter image description here

5
Yuliia Ashomok

(エラーには答えがあります)

google console api Asでjavascript Originを設定する必要があります

Origin=**http://www.pubandbar-network.co.uk**

scope=https://www.googleapis.com/auth/plus.login
response_type=code token id_token gsession
access_type=online
redirect_uri=postmessage
cookie_policy=single_Host_Origin
proxy=oauth2relay554026710
*Origin=http://www.pubandbar-network.co.uk*
state=1995523240|0.4607792083184853
display=page
client_id=102180630313.apps.googleusercontent.com
authuser=0
4
Yene Mulatu

私のデフォルトのJavaScriptの起源はhttps://www、私のウェブサイトはhttps://、含めましたhttp://www.http://https://www.およびhttps://、動作します。

3
user3315198

Leeの答えへのほんの少しの追加:JavaScriptオリジンでURLのwww.whatever.extwhatever.extの両方の形式をリストすると、エラーを取り除くことができます。それが私のアプリのトリックです。

2
nydame

1:プロジェクトの資格情報ページを開きます。

2:クライアントIDリストでOAuth 2.0 Webクライアントをダブルクリックします。

3:サーバーをローカルで実行している場合、WebクライアントIDフォームで、Authorized JavaScript originsフィールドを http:// localhost:808 に変更します。リモートで実行する場合、対応するappspotサーバーのURLを追加します。

2
Vikas

クライアントID、クライアントシークレット、javascript originsのURLが正しい場合、使用しているポートがjavascript originsに入力したURLと正確に同じかどうかを確認することをお勧めします。私は私の数字を1桁間違えて入力しました:localhost、8888の代わりにe、g localhost:888、javascriptの起源が888ではなくlocalhost:8888だったのでそのエラーが発生しました

2
Bethel Goka

私は解決するのに数分かかる愚かなことをしたので、誰かがこのtrapに落ちた場合に備えて警告を出すと思いました。

コンソールで、オリジンが表示されると、「リダイレクトURI」が「Javascriptオリジン」の上に表示されます。編集ペインを開くと、逆になります。したがって、注意を払っていない場合は、[リダイレクトURI]フィールドにオリジンを貼り付けて....

2
kpg

このエラーが発生する最も一般的な見落としは、App Credentialsダッシュボードの同意設定でHTTPとHTTPSの両方を追加するのを忘れることです。

修正するには、 https://console.cloud.google.com/apis/credentials?project=YOUR-APP-ID に移動します

作成済みの場合はOAuth 2.0クライアントIDを選択します。作成していない場合は、Originの新しいクライアントIDを作成する必要があります。

Authorized JavaScript originsで、アプリのhttpsおよびhttpの両方を追加していなかった場合は追加します。

2
Jasper Kinoti

ブラウザからすべてのGoogleサービスからログアウトします。

1
vijay

Google + apiサインインでも同じ問題がありました。Error:Origin_mismatchを取得していましたが、質問と同じ詳細がありました。http:// localhost:4567しかし、pythonファイルを実行すると、 0.0.0.0:4567としてリンクします。これは基本的にローカルホストですが、ブラウザのURLをhttp:/に変更すると/ localhost:4567これでエラーは削除されました..そして、私のアプリケーションはOAuth box ..を取得でき、すべてうまくいきました!!!事は私のエラーを削除しました...apisの使用方法を学習し始めたので、私が正しいかどうかを教えてください

1
Suraj Palwe

「Google Playゲームサービス管理デモ」を使用しようとしてこのエラーが発生しました。これは、URLに「www」がないためでした。

0
Alberto Méndez

JavaScriptのオリジンを変更し、GoogleコンソールでURIをhttp://0.0.0.0:4567からhttp://localhost:4567に変更し、リダイレクトURIの後に/oauth2callbackを追加し、ブラウザのURLをhttp://localhost:4567に変更することで修正しました

0
Phong Vy

Googleコンソールで設定したOriginのURLを確認してくださいWEBアプリケーション/ Android

サイトがhttps(一般的なサイト)で動作しないため、httpまたはhttpsを確認してください。

0
user3359503

ここで開発者ガイドを読む必要があります

https://developers.google.com/analytics/devguides/reporting/embed/v1/devguide

がんばろう !

0
Ali Raza