Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Duda/Ayuda con Google Apps Script y Symfony

Estas en el tema de Duda/Ayuda con Google Apps Script y Symfony en el foro de Symfony en Foros del Web. Saludo Hola a todos, bueno hoy vengo a pedir ayuda con esta pequeña herramienta que nos brinda la hoja de calculo de Google y es ...
  #1 (permalink)  
Antiguo 16/06/2015, 07:53
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Pregunta Duda/Ayuda con Google Apps Script y Symfony

Saludo

Hola a todos, bueno hoy vengo a pedir ayuda con esta pequeña herramienta que nos brinda la hoja de calculo de Google y es con los Apps Script y pues mi mayor duda es realizar peticiones a direcciones externas creadas a partir de Symfony que me esta poniendo algunos problemas y mas con la función "UrlFetchApp.fetch(url);" que este me trae y no he podido realizar un buena petición, y la ayuda que vengo a pedir es como debo utilizarlo y como en Symfony debo recibir estos datos que me envía Google Apps Script. Y por favor si es posible algo concreto y no algo a medias, y si no saben que es, por favor abstenerse de postear.
  #2 (permalink)  
Antiguo 18/06/2015, 08:46
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Duda/Ayuda con Google Apps Script y Symfony

Código Javascript:
Ver original
  1. var response = UrlFetchApp.fetch(url); // get feed
  2.   var dataAll = JSON.parse(response.getContentText()); //
La ruta que solicite la clase UrlFetchApp solo tiene que regresar un json.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 23/06/2015, 08:51
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Duda/Ayuda con Google Apps Script y Symfony

Bueno @hhs gracias por la ayuda, pero bueno ya pude solucionar mi problema, investigando e investigando por fin lo pude solucionar, y si como me lo propones esta bien pero el problema es la hora de mandar los valores por el método "POST", y sobre todo pude verificar que desde este tipo de AJAX al tratar de verificar si de verdad me llega "Content-type" desde Symfony no pude verificar ya que no me llega, pues entonces mi única y verdadera solución fue la siguiente:

Creo una cabecera pero con el "Content-type":

Código Javascript:
Ver original
  1. var headers = {
  2.         'Content-type': "application/json"
  3. };

Seguido en las opciones igual le pongo el "Content-type", pero OJO, aquí se utiliza es "payload" mas no "data" tener muy en cuenta:

Código Javascript:
Ver original
  1. var options = {
  2.         'muteHttpExceptions': true,
  3.         'followRedirects': false,
  4.         'method': 'POST',
  5.         'headers': headers,
  6.         'contentType': "application/json",
  7.         'payload': JSON.stringify({'user': 'MI USUARIO', 'password': 'MI CONTRASEÑA' })
  8. };

Y con la función "UrlFetchApp.fetch()" ejecuto la petición AJAX a la ruta externa:

Código Javascript:
Ver original
  1. var result = UrlFetchApp.fetch('MI RUTA EXTERNA', options);

Y para retornar el resultado es mucho mas sencillo, pero, tienen que tener en cuenta que la función "getContentText()" siempre se los retornara como "String" a un que retornen un Objeto. Solo tienen que realizar los siguiente:

Código Javascript:
Ver original
  1. if (result.getResponseCode() == 200)
  2. {
  3.       var user = result.getContentText();
  4.       var userJSON =  Utilities.jsonParse(user);
  5. }

Y listo, ténganlo por seguro que de esta manera funcionara al 100%.

NOTA: Un complemento muy bueno que sugiero 100% por si necesitan conectar algunas funciones o consultas que requieran utilizar de su aplicación web en su Hoja de Calculo o Documento de Google Driver.

Etiquetas: apps, google
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:15.