PHP - Recibir datos de una api desde mi hosting

 
Vista:

Recibir datos de una api desde mi hosting

Publicado por Roberto (3 intervenciones) el 23/05/2019 21:24:39
Hola buenas, estoy intentando recibir unos datos de un api desde el sitio web en el que aloje mi proyecto, pero no me hace nada, alguien tiene más o menos una idea de como se podría hacer esto.
En local la petición se realiza bien, pero a la hora de hacer la petición desde mi sitio web no me hace nada.

Dejo esto por aquí, haber si alguien me puede ayudar y se le ocurre algo .
Muchas gracias a todos.
clase index.php si recibe como parametro buscadorReceta llama al controlador getRecetaApi

1
2
3
require_once __DIR__ . '/../app/Modelo.php';
require_once __DIR__ . '/../app/Controlador.php';
$map = array( 'buscarReceta' => array('controlador' => 'Controlador','action' =>'getRecetaApi'),
);
clase controlador llama al modelo y almaceno el array de la petición en una variable $resultado

1
2
3
4
5
6
7
8
9
10
public function getRecetaApi(){
    $n= ModeloSingleton::singleton();
    if (isset($_GET['recetaBuscar'])){
        $resultado = $n->getReceta($_GET['recetaBuscar']);
        require __DIR__ . '/vistas/mostrarrecetas.php';
    }else{
        header('Location:index.php');
        $this->inicio();
    }
}

clase modelo me retorna el valor en un array de la petición y recibe el $_GET['recetaBuscar'] dato de entrada de un formulario.

1
2
3
4
5
6
7
8
9
public function getReceta($recetaBuscar){
 
    $URLAPI = "https://test-es.edamam.com/search?q=".urlencode($recetaBuscar)."&app_id=$APPID&app_key=$APIKEY";
 
    $urlapiJson=file_get_contents($URLAPI);
    $urlapi_array= json_decode($urlapiJson,true);
    return $resultado = $urlapi_array;
 
}

clase mostrarrecetas pinta los datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
if(isset( $urlapi_array)){
    $recetas = $urlapi_array['hits'];
 
    foreach ($recetas as $receta){
        $urlrecetasitio=$receta['recipe']['url'];
        $tituloReceta= $receta['recipe']['label'];
        $imagenreceta = $receta['recipe']['image'];
        $sitioreceta = $receta['recipe']['source'];
        echo "<div id='contimgerror' class=' col-md-6 contimg'>
        <h4>".$tituloReceta."</h4>
        <div class='card card-default'>
        <a href='".$urlrecetasitio."' class='card-link'>
        <span class='card-img'>";
        ?>
 
        <img src="<?php echo $imagenreceta ;?>"class="img-responsive img404" onerror="this.src='img/img404.png'" >
        <?php
        echo "         </span>
        <span class='card-body'>
        <span class='h3 heading'>".$sitioreceta."</span><p>Lista de ingredientes</p>";
 
        foreach($receta['recipe']['ingredientLines'] as $valor){
            echo "<p>".$valor ."</p>";
        }
 
        echo"  </span>
        </a>
        </div>
        </div> ";
 
    }
}

formulario entrada de datos

1
2
3
4
5
6
<form  action="" method="get" class="">
    <div class="">
        <input type="text" name="recetaBuscar" placeholder="Buscar receta..."  title="Introduzca un título" class=" "></div>
        <div class=""><button type="" class=""></button>
    </div>
</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Recibir datos de una api desde mi hosting

Publicado por Mauro (1034 intervenciones) el 24/05/2019 14:58:41
Podría tratarse de un problema de conectividad... si estás en un alojamiento compartido es probable que los administradores no permitan las llamadas salientes...

¿Tienes acceso a algún log de errores o algo así que pueda echar luz sobre el error que está pasando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar