source open net javascript oauth-2.0 google-fusion-tables

javascript - open - Mesa privada de FusionTables con OAUTH2



oauth2 php (1)

Buena foto de Tim Rosenberg que muestra exactamente cómo funciona OAUTH2:

Soy un poco perezoso para comenzar a buscar en estos 2 files y test así que busqué la forma más fácil

1. obtener el token

2.acceso con ese token

con la ayuda de gwt-oauth2

póngalo en index.php head: <script type="text/javascript" src="gwt-oauth2.js"></script>

y esto en cuerpo

<script type="text/javascript"> (function() { var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/auth"; var GOOGLE_CLIENT_ID = "CLIENT_ID"; //var PLUS_ME_SCOPE = "https://www.googleapis.com/auth/plus.me"; //var FusionTable_SCOPE = "https://www.googleapis.com/auth/fusiontables"; var button = document.createElement("button"); button.innerText = "Authenticate with Google"; button.onclick = function() { var req = { ''authUrl'' : GOOGLE_AUTH_URL, ''clientId'' : GOOGLE_CLIENT_ID, ''scopes'': [''https://www.googleapis.com/auth/plus.me'', ''https://www.googleapis.com/auth/fusiontables'' ], }; oauth2.login(req, function(token) { alert(''Got an OAuth token:/n''+ token +''/n''+ ''Token expires in ''+ oauth2.expiresIn(req) +'' ms/n''); }, function(error) { alert("Error:/n" + error); }); }; var dv = document.getElementById(''admin-content''); dv.appendChild(button); var clearTokens = document.createElement(''button''); clearTokens.innerText = ''Clear all tokens'' clearTokens.onclick = oauth2.clearAllTokens; dv.appendChild(clearTokens); })(); </script>

DE ACUERDO,

Ahora puede ver la conexión y la redirección a oauthWindow.html en una nueva ventana sin errores. Los parámetros GET ahora le muestran access_token token_type expires_in . Compruebe el access_token HERE

Como ves access_token funcionando muy bien PERO

Lo que aún no entiendes es primero alerta de eso:

oauth2.login(req, function(token) { alert(''Got an OAuth token:/n'' + token + ''/n'' + ''Token expires in '' + oauth2.expiresIn(req) + '' ms/n''); }, function(error) { alert("Error:/n" + error); });

La segunda alerta funciona bien y cuando intentas autenticar. de nuevo, si aun está abierto o no está abierto, se mostrará una alerta de error (¡así que está funcionando!) Ahora agreguemos ese pequeño código a oauthWindow.html

<!DOCTYPE html> <html> <head> <script type="text/javascript"> if (window.opener && window.opener.oauth2 && window.opener.oauth2.__doLogin) { window.opener.oauth2.__doLogin(location.hash); } else { document.body.innerText = "Your browser seems to be stopping this window from communicating with the main window."; } </script> </head> <body></body> </html>

¡Perfecto!

Ahora, si desea trabajar con tablas privadas, todo lo que necesita es agregar un access_token a url.

¡Gracias por darme la razón para contestarme!


Ponga esto en oauthWindow.html archivo oauthWindow.html

<!DOCTYPE html> <html> <head> <script type="text/javascript"> if (window.opener && window.opener.oauth2 && window.opener.oauth2.__doLogin) { window.opener.oauth2.__doLogin(location.hash); } else { document.body.innerText = "Your browser seems to be stopping this window from communicating with the main window."; } </script> </head> <body></body> </html>