So, I’m trying to fetch API-data using cURL, but I get the message “fail” from the else-statement in the code below. The API call is Google geocode for fetching coordinates.
The code:
<?php
require_once('../db.php');
$api_key = "somekey";
$sqlQuery = mysql_query("SELECT `County` FROM `table`");
$ch = curl_init();
/* Fetch county */
while($rows = mysql_fetch_array($sqlQuery)) {
$countyArr = $rows['County'];
/* Call google API and save coordinates for each county */
curl_setopt ($ch, CURLOPT_URL, "https://maps.googleapis.com/maps/api/geocode/json?address=".$countyArr.",+CA&key=".$api_key."");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$json= curl_exec($ch, true);
$obj = json_decode($json);
if ($obj->status == "OK") {
$lat = $obj->results->location->lat;
$lng = $obj->results->location->lng;
echo $lat;
} else {
echo "fail";
}
}
curl_close($ch);
?>
- I intended to use get_file_contents() earlier but it seems like my hosting has deactivated that function.
- Adding allow_url_fopen = on to php.ini didn’t do the trick.
- It seems like my hosting allows cURL, so that shouldn’t be the problem.
- I’ve tried to manually go to the API-call and I get a webpage showing the correct JSON-data.
- The SQL-query seems to be working fine too.