last day (15 days later) » 

1:15 PM
hola pablo!
que tal?
voy a usar php
 
digiriendo el almuerzo :)
 
almuerzo?
aca son las 9am
y tu de donde eres?
 
aquí las 3pm
España
 
ahh!
que bien
 
a ver
 
1:16 PM
tu preguntame y yo te respondo por favor
 
si tienes un problema de CORS es que tu javascript se carga desde un servidor distinto al que se están haciendo las llamadas
 
si correcto, estoy tratando de extraer datos de un servicio privado de api el cual es este campaignmonitor.com/api
acabo de hacer las peticiones por postman y las estoy recibiendo correctamente
tome el code snippet que genera postman y me genera cors error
 
Entonces descartamos la solución trivial de implementar CORS en el servidor, puesto que no es tuyo
 
correcto, asi lo entiendo, yo no soy experto
pero aun asi, en codigo recibo error de cors, xq sera?
 
por lo que leo en la documentación de esa API, ellos esperan que las llamadas a su API las haga tu servidor, tu código PHP
 
1:20 PM
usando su wrapper? ya te lo busco
 
así que veo dos soluciones que se basan en lo mismo: que tu servidor sea el que haga las llamadas
 
pero, una pregunta, si el servidor es de ellos, xq yo tengo que crear otro si puedo conectarme a su api desde el front?
 
opción 1: configurar tu servidor web (Apache, Nginx...) para que haga de proxy inverso
opción 2: usar su wrapper PHP y que tu JS llame a tu aplicación y ésta, a su vez, llame a su API
porque su servidor no permite llamadas desde front
o mejor dicho, no implementan CORS y tu navegador se niega a hacer esas llamadas
 
entiendo, eso lo sabes x tu experiencia o lo leiste en la documentacion?
 
por experiencia
el mensaje de error que tienes es de tu navegador
diciendo que ha intentando negociar CORS con el servidor y no ha podido
 
1:23 PM
bueno, una persona me comentaba que ese wrapper que usan ellos, es un sdk. yo realmente no tengo experiencia con eso
que deberia hacer?
 
no sé que datos estás pidiendo o cómo quieres procesarlos, así que no sé que opción de las 2 que he puesto es la que más te conviene
pero la 2 parece la más prometedora, la 1 es para hacer una prueba de concepto, más que nada
 
bueno, yo necesito traer por ejemplo, el nombre de las campañas realizdas, que lo tengo con este url api.createsend.com/api/v3.2/clients/…
y con eso quiero crear mi aplicacion propia que me muestre esos datos
 
entonces haz eso: tu código PHP debe obtener los datos, autenticándose
y luego dárselo a tu página web
sería lo más sencillo
si ya tienes una librería oficial para hacerlo, aprovéchala
 
estoy mirando el wrapper, y en el folder samples me aparece este archivo auth_with_api_key
y este es su codigo
<?php

require_once '../../csrest_general.php';

$auth = array('api_key' => 'your api key');
$wrap = new CS_REST_General($auth);

$result = $wrap->get_clients();


echo "Result of /api/v3.1/clients\n<br />";
if($result->was_successful()) {
echo "Got clients\n<br /><pre>";
var_dump($result->response);
} else {
echo 'Failed with code '.$result->http_status_code."\n<br /><pre>";
var_dump($result->response);
}
echo '</pre>';
 
yo de PHP no se nada, advierto
lo mío es Java y Javascript
 
1:31 PM
si yo coloco en your api key mi api key y ejecuto ese archivo deberia autenticar?
 
supongo
 
bueno, lo acabo de poner y nada
me suelta este error
Fatal error: No transport is available. Try using non-secure (http) mode or ensure the cURL extension is loaded in C:\xampp\htdocs\Developer\mycodebook\guias\jquery\createsend-php-master\createse‌​nd-php-master\class\transport.php on line 24
 
ahí ya entramos en temas de PHP y no te puedo ayudar, veo algo referente a cURL
 
ok esta bien, otra pregunta
 
que si no recuerdo mal, aparte de un comando en linux, es una librería para hacer llamadas http
 
1:34 PM
y xq cuando uso postman no tengo ningun problema para ver la data?
 
porque Postman no requiere CORS
 
xq no esta pidiendo la informacion desde un browser, correcto?
 
incluso aunque uses Postman como una extensión del navegador, éste no exige nada
exacto
 
entiendo, bueno, alguna sugerencia para continuar? en realidad estoy perdido
 
Olvídate de la parte javascript, simplemente intenta acceder con tu api key y obtener datos
y muestralos en html puro
algo sencillo
y una vez que lo tengas funcionando, es ir añadiendo funcionalidades
 
1:43 PM
si pero, realmente no veo documentacion de como usar esta libreria
 
el código parece estar bien documentado
 
estoy revisando que ellos tienen un wrapper para node js
con ese si sabrias darme una idea mas clara ?
 
no es un wrapper oficial
pero es que es exactamente igual
 
ese es el que te comentaba
 
la idea es: tu navegador hace una petición a tu servidor, node o php
para responderla, tu servidor pide los datos a campaignmonitor
y cuando los obtiene, responde
 
1:57 PM
que en este caso seria el wrapper, y ese wrapper se conecta a la api y retorna con el var_dump el json, que luego se recogeria con js para renderizarlo
correcto?
 
eso parece
 
como veras, tengo la teoria, pero fallo en la practica, xq haciendo lo "logico", como muestran los samples, seria reemplazar los api keys,etc y deberia de traerte la respuesta
sin embargo, me sale ese error de curl no se que
 
2:20 PM
eso sería preguntar a quien sepa de PHP
 
ok esta bien, muchas gracias pablo
 

last day (15 days later) »