2017-05-12 5 views
0

Je travaille avec un serveur aws ec2 (ubuntu). Il est configuré pour s'ouvrir ainsi pour tout le trafic. J'essaie d'obtenir mon Webhook de HubSpot pour me connecter à ma page php pour la collecte de données. J'ai testé ce webhook avec le site RequestBin recommandé et toutes les données viennent très bien. Cela conduit donc à penser que c'est mon code ou peut-être l'utilisation du SSL sur le serveur qui est utilisé pour se connecter via le terminal.HubSpot Webhook à PHP sur aws ec2 serveur ubuntu

mon code php est ...

<?php 

# taking data from HubSpot's webhook 

//$hookData = json_decode(file_get_contents("php://input"), ture); 
//$_POST = json_decode(file_get_contents("http://requestb.in/150jn861")); // does not get anything 
//$_POST = file_get_contents('http://requestb.in/150jn861'); // writes to file the string "ok" 
$_POST = json_decode(file_get_contents("php://input"), ture); 
$file = fopen("datadump1.txt", "w"); 
fwrite($file, $_POST); 
fclose($file); 
var_dump($_POST); // test input 
echo "\nTest completed\n"; 
?> 

J'ai trouvé 2 autres messages sur ici pour webhooks et HubSpot, mais le correctif ne fonctionne pas. Comme vous pouvez le voir, j'ai testé plusieurs choses, mais je n'ai rien trouvé à faire. Puisque c'est aws ec2, je ne peux pas utiliser le var_dump ou l'écho pour vraiment tester aussi bon que je le voudrais. Je n'ai jamais utilisé ce type d'environnement auparavant. Merci d'avance pour toute aide que vous pouvez donner.

Répondre

0

C'était une grosse vue de ma part. Je ne comptabilisais pas les permissions dans ubuntu. après avoir testé avec des fichiers locaux et cRUL dans mon fichier testPHP je l'ai blessé. changé les autorisations avec "sudo chmod -R 777 /var/www/html/testPHP.php" puis avec le POST local, j'ai été un fichier a été créé et les données y étaient. voici mon code pour tous ceux qui le veulent; N'OUBLIEZ PAS LES PERMISSIONS SI EN UBUNTU. HAHAHA

<?php 

# taking data from HubSpot's webhook 

$hookData = file_get_contents("php://input"); 

$file = fopen('datadump.json','w') or die("Unable to open file!"); 
fwrite($file, $hookData); 
fclose($file); 

//var_dump($hookData); // test input 
echo "\nTest completed\n" . $hookData; 
?> 

dans mon dossier POST ...

?php 

$myObj = null; 
$myObj->name = "Name"; 
$myObj->age = 32; 
$myObj->city = "New York"; 

$myJSON = json_encode($myObj); 


//API Url 
$url = 'REMOVED; put your URL here'; 

//Initiate cURL. 
$ch = curl_init($url); 

//Tell cURL that we want to send a POST request. 
curl_setopt($ch, CURLOPT_POST, 1); 

//Attach our encoded JSON string to the POST fields. 
curl_setopt($ch, CURLOPT_POSTFIELDS, $myJSON); 

//Set the content type to application/json 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

//Execute the request 
$result = curl_exec($ch); 
?>