Je souhaite partager du contenu dynamique sur Google +. Pour cela je l'ai vérifié 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>
Mais lors de l'exécution, j'obtiens cette erreur
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
S'il vous plaît suggérer comment résoudre ce problème
La non-concordance de l'origine est généralement due au fait que les origines Javascript ne sont pas correctement définies dans la console de projet API . Vous devez vous assurer que les origines Javascript correspondent au domaine d'où proviennent vos demandes et auquel vous renvoyez l'utilisateur après la connexion.
Vous trouverez plus de détails dans la documentation destinée aux développeurs dans la section "Création d'un ID client et d'un secret client" .
Remarque: une erreur courante consiste à ajouter des origines javascript pour http: // mais pas https: // (ou vice versa). Si vous souhaitez autoriser les utilisateurs à accéder à votre site à partir des deux sites, vous devez les répertorier dans la console javascript.
Remarque (merci Bethel Goka): Vous devez inclure le numéro de port de votre serveur dans les origines javascript si un numéro de port apparaît dans l'URL lorsque les utilisateurs accèdent à votre site.
Cela a fonctionné pour moi en supprimant "www." depuis la console google. J'ai simplement utilisé http://example.com et cela a fonctionné ...
Pour les utilisateurs de VS:
Ouvrez les propriétés de votre projet et obtenez l’URL du projet:
Ceci est votre Javascript Origins
Modifiez également les URI de redirection. Ce devrait être vos origines + "/ oauth2callback"
Pour moi:
(L'erreur a la réponse pour vous)
devez définir javascript Origin dans Google Console Api As
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
Mon origine javascript par défaut est https://www
, Mon site Web ne prend pas en charge https://
, J'ai inclus http://www.
http://
https://www.
et https://
, cela fonctionne.
Juste un petit ajout à la réponse de Lee: énumérer les formes www.w Whatever.ext et Whatever.ext de votre URL en origines JavaScript peut supprimer l'erreur. C'est ce qui a fait l'affaire pour mon application.
1: Ouvrez la page Informations d'identification pour votre projet.
2: Double-cliquez sur votre client Web OAuth 2.0 dans la liste d’ID client.
3: Assurez-vous que dans le formulaire d'ID de client Web, définissez le champ Origines JavaScript autorisées sur http: // localhost: 8080 lorsque vous exécutez le serveur localement. Lors de l'exécution à distance, ajoutez l'URL du serveur appspot correspondant.
Si votre identifiant client, votre secret client et votre URL d'origines javascript sont corrects, vous pouvez vérifier si le port que vous utilisez est exactement le même que l'URL que vous avez spécifiée pour les origines JavaScript. J'ai mal saisi le mien avec un chiffre: e, g localhost: 888 au lieu de localhost: 8888 et j'ai eu cette erreur parce que mon origine javascript était localehost: 8888 pas 888
J'ai fait une chose stupide qui a pris quelques minutes à résoudre, alors j'ai pensé poster un avertissement au cas où quelqu'un d'autre tomberait dans ce piège.
Dans la console, lorsque les origines sont affichées, les "URL de redirection" sont placées au-dessus de "origines Javascript". Lorsque vous ouvrez le volet d'édition, c'est l'inverse. Par conséquent, si vous n'y prêtez pas attention, vous pouvez coller vos origines dans le champ Redirect URIs et ....
L'omission la plus courante entraînant cette erreur consiste à oublier d'ajouter les origines HTTP et HTTPS aux paramètres de consentement du tableau de bord des informations d'identification de l'application.
Pour résoudre ce problème, accédez à https://console.cloud.google.com/apis/credentials?project=YOUR-APP-ID
Sélectionnez les identifiants client OAuth 2.0 si vous en avez déjà créé un. Sinon, vous devrez créer un nouvel identifiant client pour votre origine.
Sous Origines JavaScript autorisées, ajoutez les deux origines https et http pour votre application si vous n'aviez pas ajouté les deux.
Déconnectez-vous de tous les services Google à partir de votre navigateur.
J'ai eu cette erreur en essayant d'utiliser la "Démo de gestion des services de jeux Google Play" et c'était à cause de l'absence de "www" dans l'URL
Je l'ai corrigé en changeant les origines JavaScript et les URI de redirection dans la console Google de http://0.0.0.0:4567
à http://localhost:4567
, n'oubliez pas d'ajouter /oauth2callback
après les URI de redirection et de modifier l'URL du navigateur en http://localhost:4567
.
Veuillez vérifier l'URL d'origine définie dans la console Google pour votre application Web/Android.
et cochez http ou https car votre site ne fonctionne pas sur https (site général).
Vous devez lire le guide du développeur ici
https://developers.google.com/analytics/devguides/reporting/embed/v1/devguide
Bonne chance !