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
これを修正する方法を提案してください
通常、オリジンの不一致は、Javascriptのオリジンが APIプロジェクトコンソール で正しく設定されていないことが原因です。 Javascriptの発信元が、リクエストの送信元であり、サインイン後にユーザーを返すドメインと一致することを確認する必要があります。
詳細については、開発者向けドキュメントの 「クライアントIDとクライアントシークレットを作成する」セクション をご覧ください。
注:ここでよくある間違いは、http://ではなくhttps://ではなく(またはその逆)javascriptの起源を追加することです。ユーザーが両方からサイトにアクセスできるようにする場合は、javascriptコンソールに両方をリストする必要があります。
注(Bethel Gokaに感謝):ユーザーがサイトにアクセスするときにURLにポート番号が表示される場合は、javascriptオリジンにサーバーのポート番号を含める必要があります。
「www」を削除することで機能しました。 Googleコンソールから。私は単に http://example.com を使用しましたが、うまくいきました...
VSユーザーの場合:
プロジェクトのプロパティを開き、プロジェクトURLを取得:
これはJavascriptの起源です
リダイレクトURIも変更します。オリジン+ "/ oauth2callback"でなければなりません
私にとって:
(エラーには答えがあります)
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
私のデフォルトのJavaScriptの起源はhttps://www
、私のウェブサイトはhttps://
、含めましたhttp://www.
http://
https://www.
およびhttps://
、動作します。
Leeの答えへのほんの少しの追加:JavaScriptオリジンでURLのwww.whatever.extとwhatever.extの両方の形式をリストすると、エラーを取り除くことができます。それが私のアプリのトリックです。
1:プロジェクトの資格情報ページを開きます。
2:クライアントIDリストでOAuth 2.0 Webクライアントをダブルクリックします。
3:サーバーをローカルで実行している場合、WebクライアントIDフォームで、Authorized JavaScript originsフィールドを http:// localhost:808 に変更します。リモートで実行する場合、対応するappspotサーバーのURLを追加します。
クライアントID、クライアントシークレット、javascript originsのURLが正しい場合、使用しているポートがjavascript originsに入力したURLと正確に同じかどうかを確認することをお勧めします。私は私の数字を1桁間違えて入力しました:localhost、8888の代わりにe、g localhost:888、javascriptの起源が888ではなくlocalhost:8888だったのでそのエラーが発生しました
私は解決するのに数分かかる愚かなことをしたので、誰かがこのtrapに落ちた場合に備えて警告を出すと思いました。
コンソールで、オリジンが表示されると、「リダイレクトURI」が「Javascriptオリジン」の上に表示されます。編集ペインを開くと、逆になります。したがって、注意を払っていない場合は、[リダイレクトURI]フィールドにオリジンを貼り付けて....
このエラーが発生する最も一般的な見落としは、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の両方を追加していなかった場合は追加します。
ブラウザからすべてのGoogleサービスからログアウトします。
Google + apiサインインでも同じ問題がありました。Error:Origin_mismatchを取得していましたが、質問と同じ詳細がありました。http:// localhost:4567しかし、pythonファイルを実行すると、 0.0.0.0:4567としてリンクします。これは基本的にローカルホストですが、ブラウザのURLをhttp:/に変更すると/ localhost:4567これでエラーは削除されました..そして、私のアプリケーションはOAuth box ..を取得でき、すべてうまくいきました!!!事は私のエラーを削除しました...apisの使用方法を学習し始めたので、私が正しいかどうかを教えてください
「Google Playゲームサービス管理デモ」を使用しようとしてこのエラーが発生しました。これは、URLに「www」がないためでした。
JavaScriptのオリジンを変更し、GoogleコンソールでURIをhttp://0.0.0.0:4567
からhttp://localhost:4567
に変更し、リダイレクトURIの後に/oauth2callback
を追加し、ブラウザのURLをhttp://localhost:4567
に変更することで修正しました
Googleコンソールで設定したOriginのURLを確認してくださいWEBアプリケーション/ Android
サイトがhttps(一般的なサイト)で動作しないため、httpまたはhttpsを確認してください。
ここで開発者ガイドを読む必要があります
https://developers.google.com/analytics/devguides/reporting/embed/v1/devguide
がんばろう !