web-dev-qa-db-de.com

Origin_mismatch-Fehler in der Google+ Freigabe-API erhalten

Ich möchte einige dynamische Inhalte auf Google + freigeben. Dazu habe ich es überprüft 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>

Beim Ausführen bekomme ich diesen Fehler

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

Bitte schlagen Sie vor, wie Sie das beheben können

23
user2439124

Ursprungskonflikt wird normalerweise dadurch verursacht, dass die Javascript-Ursprünge in der API-Projektkonsole nicht richtig eingestellt sind. Sie müssen sicherstellen, dass die Ursprünge von Javascript mit der Domäne übereinstimmen, von der Ihre Anforderungen stammen und an die Sie den Benutzer nach der Anmeldung zurücksenden.

Weitere Informationen finden Sie in der Entwicklerdokumentation im Abschnitt "Erstellen einer Client-ID und eines Client-Secret" .

Hinweis: Ein häufiger Fehler hier ist das Hinzufügen von Javascript-Ursprüngen für http: //, jedoch nicht für https: // (oder umgekehrt). Wenn Sie Benutzern den Zugriff von beiden auf Ihre Website ermöglichen möchten, müssen Sie beide in der Javascript-Konsole auflisten.

Hinweis (Danke, Bethel Goka): Sie müssen die Portnummer Ihres Servers in den Javascript-Ursprung angeben, wenn in der URL eine Portnummer angezeigt wird, wenn Benutzer auf Ihre Website zugreifen.

46
Lee

Es funktionierte für mich durch das Entfernen von "www." von der Google-Konsole. Ich habe einfach http://example.com benutzt und es hat funktioniert ...

8
user3981671

Für VS-Benutzer:  
Öffnen Sie die Eigenschaften Ihres Projekts und rufen Sie die Projekt-URL ab:

enter image description here
Dies ist dein Javascript-Ursprung

Ändern Sie auch die Umleitungs-URIs. Es sollte Ihre Herkunft sein + "/ oauth2callback"
Für mich:

enter image description here

5
Yuliia Ashomok

(Der Fehler hat die Antwort für Sie)

sie müssen Javascript Origin in der Google-Konsole festlegen

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

Meine voreingestellten Javascript-Ursprünge sindhttps://www, Meine Website unterstützt nichthttps://, Ich habehttp://www.http://https://www.undhttps://, Es klappt.

3
user3315198

Nur ein kleiner Zusatz zu Lees Antwort: Durch die Auflistung der www.whatever.ext und whatever.ext - Formen Ihrer URL in JavaScript-Ursprüngen wird der Fehler möglicherweise behoben. Das war der Trick für meine App.

2
nydame

1: Öffnen Sie die Seite mit den Anmeldeinformationen für Ihr Projekt.

2: Doppelklicken Sie in der Client-ID-Liste auf Ihren OAuth 2.0-Web-Client.

3: Stellen Sie sicher, dass in dem Web-Client-ID-Formular das Feld Authorized JavaScript origins in http: // localhost: 8080 geändert wird, wenn Sie den Server lokal ausführen. Fügen Sie bei der Remote-Ausführung die entsprechende Appspot-Server-URL hinzu. 

2
Vikas

Wenn Ihre Client-ID, Ihr Client-Secret und Ihre URL für die URLs von JavaScript korrekt sind, sollten Sie prüfen, ob der von Ihnen verwendete Port mit der URL für die URLs von JavaScript identisch ist. Ich habe meine mit einer Ziffer falsch eingetippt: e, g localhost: 888 anstelle von localhost: 8888 und habe diesen Fehler erhalten, weil mein Javascript-Ursprung localhost war: 8888 nicht 888

2
Bethel Goka

Ich habe ein blödes Ding gemacht, das einige Minuten dauerte, um es zu lösen. Ich dachte, ich würde eine Warnung posten, falls jemand anderes in diese Falle gerät.

Wenn in der Konsole Ursprünge angezeigt werden, werden "Umleitungs-URIs" über "Ursprünge von Javascript" angezeigt. Wenn Sie den Bearbeitungsbereich öffnen, ist es umgekehrt, wenn Sie also nicht aufpassen, könnten Sie Ihre Herkunft in das Feld Umleitungs-URIs einfügen und ....

2
kpg

Das häufigste Versehen, das zu diesem Fehler führt, ist das Vergessen des Hinzufügens von HTTP- und HTTPS-Ursprungs zu den Zustimmungseinstellungen im App Credentials-Dashboard.

Um dies zu beheben, rufen Sie https://console.cloud.google.com/apis/credentials?project=YOUR-APP-ID auf

Wählen Sie die OAuth 2.0-Client-IDs aus, wenn Sie bereits eine erstellt haben. Andernfalls müssen Sie eine neue Client-ID für Ihren Origin erstellen.

Fügen Sie unter Authorized JavaScript originins sowohl https als auch http origins für Ihre App hinzu, wenn Sie nicht beide hinzugefügt haben.

2
Jasper Kinoti

Melden Sie sich von allen Google-Diensten über Ihren Browser ab.

1
vijay

Ich hatte auch das Problem, dass sich Google + API anmeldet. Ich bekam Fehler: Origin_mismatch und es gab dieselben Details wie in der Frage .. my Javascript-Anmeldeinformationen hatten http: // localhost: 4567 aber wenn ich die python Datei öffnete es den Link als 0.0.0.0:4567 das ist im Grunde ein localhost, aber als ich die URL im Browser auf änderte - http: // localhost: 4567 jetzt wurde der Fehler behoben .. und meine Anwendung konnte die OAuth= Box .. abrufen und alles ging gut !!! Dieses Ding hat meinen Fehler beseitigt ... Bitte lassen Sie mich wissen, ob ich korrekt war, weil ich gerade angefangen habe, den Umgang mit Apis zu lernen

1
Suraj Palwe

Beim Versuch, die "Demo-Version von Google Play Games Services Management" zu verwenden, ist dieser Fehler aufgetreten, weil "www" in der URL fehlt

0
Alberto Méndez

Ich habe das Problem behoben, indem Sie die Ursprünge von JavaScript ändern und URIs in der Google-Konsole von http://0.0.0.0:4567 zu http://localhost:4567 umleiten. Denken Sie daran, /oauth2callback nach der Umleitung von URIs hinzuzufügen, und ändern Sie die URL im Browser in http://localhost:4567.

0
Phong Vy

Bitte überprüfen Sie die Origin-URL in Google Console für Ihre WEB-Anwendung/Android 

und überprüfen Sie das http oder https, da Ihre Site nicht mit https (in der Regel Site) funktioniert.

0
user3359503

Sie müssen das Entwicklerhandbuch hier lesen

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

Viel Glück ! 

0
Ali Raza