API Fun
This commit is contained in:
parent
ffb20dae12
commit
01b1d3b4b4
100
api_fun/damaged_scooters/fetchnonactivescooters.php
Normal file
100
api_fun/damaged_scooters/fetchnonactivescooters.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
function save_latestData(){
|
||||
$import_berlin_scooters = file_get_contents('./scooter_UUID.json');
|
||||
$berlin_scooters = json_decode($import_berlin_scooters, true);
|
||||
$API_call = 'https://platform.tier-services.io/v1/vehicle/';
|
||||
$id = 0;
|
||||
unlink("./damaged_map/nonactiveScooters.json");
|
||||
fopen("./damaged_map/nonactiveScooters.json", 'w+');
|
||||
foreach ($berlin_scooters as $berlin_scooter) {
|
||||
//if ($id < 1000) {
|
||||
$nonactiveScootersJSON = './damaged_map/nonactiveScooters.json';
|
||||
$scooterData = callAPI($API_call . $berlin_scooter["UUID"]);
|
||||
$API_response = json_decode($scooterData, true);
|
||||
if ($API_response === 'null') {
|
||||
echo 'api connection failed'.PHP_EOL;
|
||||
} else {
|
||||
$scooter_Status = $API_response['data']['attributes']['state'];
|
||||
if ($scooter_Status === 'ACTIVE') {
|
||||
$id++;
|
||||
echo 'scooter ACTIVE'.PHP_EOL;
|
||||
continue;
|
||||
} else {
|
||||
appendJSON($nonactiveScootersJSON, $API_response);
|
||||
echo 'INACTIVE scooter added'.PHP_EOL;
|
||||
$id++;
|
||||
};
|
||||
};
|
||||
//} else {
|
||||
// return;
|
||||
//}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function appendJSON($filename, $data){ // create historical json data for documentation over time
|
||||
|
||||
// read the file if present
|
||||
$handle = @fopen($filename, 'r+');
|
||||
|
||||
// create the file if needed
|
||||
if ($handle === null)
|
||||
{
|
||||
$handle = fopen($filename, 'w+');
|
||||
}
|
||||
|
||||
if ($handle)
|
||||
{
|
||||
// seek to the end
|
||||
fseek($handle, 0, SEEK_END);
|
||||
|
||||
// are we at the end of is the file empty
|
||||
if (ftell($handle) > 0)
|
||||
{
|
||||
// move back a byte
|
||||
fseek($handle, -1, SEEK_END);
|
||||
|
||||
// add the trailing comma
|
||||
fwrite($handle, ',', 1);
|
||||
|
||||
// add the new json string
|
||||
fwrite($handle, json_encode($data) . ']');
|
||||
}
|
||||
else
|
||||
{
|
||||
// write the first event inside an array
|
||||
fwrite($handle, json_encode(array($data)));
|
||||
}
|
||||
|
||||
// close the handle on the file
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
function callAPI($url){
|
||||
//echo $url;
|
||||
$curl = curl_init($url);
|
||||
curl_setopt($curl, CURLOPT_FAILONERROR, true);
|
||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'x-api-key: bpEUTJEBTf74oGRWxaIcW7aeZMzDDODe1yBoSxi2',
|
||||
'Content-Type: application/json',
|
||||
)); // set the api key
|
||||
curl_setopt($curl, CURLOPT_USERAGENT,'ProductionRelease/3.8.2 (app.tier.sharing; build:3.8.2.0; iOS 12.4.4) Alamofire/4.9.1'); // set user-agent to that of the Tier.app, sniffed by burpsuite
|
||||
$result = curl_exec($curl);
|
||||
if(!$result){return ('api connection failed'.PHP_EOL);}
|
||||
curl_close($curl);
|
||||
//echo $result;
|
||||
return $result;
|
||||
};
|
||||
|
||||
save_latestData();
|
||||
|
||||
|
||||
?>
|
75
api_fun/damaged_scooters/scooter_UUID.php
Normal file
75
api_fun/damaged_scooters/scooter_UUID.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
function callAPI($url){
|
||||
$curl = curl_init($url);
|
||||
curl_setopt($curl, CURLOPT_FAILONERROR, true);
|
||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'x-api-key: bpEUTJEBTf74oGRWxaIcW7aeZMzDDODe1yBoSxi2',
|
||||
'Content-Type: application/json',
|
||||
)); // set the api key
|
||||
curl_setopt($curl, CURLOPT_USERAGENT,'ProductionRelease/3.8.2 (app.tier.sharing; build:3.8.2.0; iOS 12.4.4) Alamofire/4.9.1'); // set user-agent to that of the Tier.app, sniffed by burpsuite
|
||||
|
||||
$result = curl_exec($curl);
|
||||
//echo $result;
|
||||
if(!$result){return 'api connection failed'.PHP_EOL;}
|
||||
curl_close($curl);
|
||||
return $result;
|
||||
};
|
||||
|
||||
function getactiveSooters(){
|
||||
$berlin = 'https://platform.tier-services.io/v1/vehicle?zoneId=BERLIN';
|
||||
$getJSON = callAPI($berlin); //abstract callAPI for neater reuse
|
||||
$saveData = file_put_contents("activescooters.json", $getJSON);
|
||||
if (file_put_contents("activescooters.json", $getJSON))
|
||||
echo "JSON file created successfully...";
|
||||
else
|
||||
echo "Oops! Error creating json file...";
|
||||
return $saveData; //return array
|
||||
};
|
||||
|
||||
function parseJSON($id){
|
||||
$readJSON = file_get_contents('./activescooters.json'); //read latest data
|
||||
$latestData = json_decode($readJSON, true);
|
||||
$scooter = $latestData["data"][$id];
|
||||
$scooter_UUID = $scooter["id"];
|
||||
return $scooter_UUID;
|
||||
};
|
||||
|
||||
function append_UUID(){
|
||||
$filename = "./scooter_UUID.json";
|
||||
$scooterUUID_JSON = file_get_contents($filename);
|
||||
$scooterUUID_Array = json_decode($scooterUUID_JSON,true);
|
||||
//print_r($scooterUUID_Array);
|
||||
$activescooterJSON = file_get_contents('./activescooters.json'); //read latest data
|
||||
$activescooterArray = json_decode($activescooterJSON, true);
|
||||
//print_r($activescooterArray);
|
||||
$scooters = $activescooterArray["data"];
|
||||
//print_r($scooters);
|
||||
$id = 0; //start id
|
||||
//$api_call = "https://platform.tier-services.io/v1/vehicle/";
|
||||
foreach ($scooters as $item) {
|
||||
$UUID = parseJSON($id);
|
||||
$UUID_Entry = array('UUID' => $UUID);
|
||||
if (in_array($UUID_Entry, $scooterUUID_Array)) {
|
||||
echo "matched".PHP_EOL;
|
||||
} else {
|
||||
$additionalUUID = array('UUID' => $UUID);
|
||||
$scooterUUID_Array[] = $additionalUUID ;
|
||||
$jsonData = json_encode($scooterUUID_Array);
|
||||
file_put_contents('./scooter_UUID.json', $jsonData);
|
||||
echo "new Entry added".PHP_EOL;
|
||||
}
|
||||
//$json_entry = "{" . "\"URL\":" . "\"" . $api_call . $UUID . "\"" . "},";
|
||||
//file_put_contents($filename, $json_entry, FILE_APPEND | LOCK_EX);
|
||||
$id++;
|
||||
}
|
||||
};
|
||||
|
||||
getactiveSooters();
|
||||
append_UUID();
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user