Skip to content

Instantly share code, notes, and snippets.

@jatkins
Last active December 2, 2020 06:38
Show Gist options
  • Save jatkins/7649244 to your computer and use it in GitHub Desktop.
Save jatkins/7649244 to your computer and use it in GitHub Desktop.
<?php
require_once("config.php");
$mysql = mysqli_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DB);
function callInstagram($url) {
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
)
);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function instagramUserMysql($user, $db) {
$username = $db->real_escape_string($user['username']);
$website = $db->real_escape_string($user['website']);
$profile_picture = $db->real_escape_string($user['profile_picture']);
$full_name = $db->real_escape_string($user['full_name']);
$bio = $db->real_escape_string($user['bio']);
$instagram_id = $db->real_escape_string($user['id']);
$sql = "SELECT * FROM users WHERE instagram_id = ".$instagram_id." LIMIT 1";
$user = $db->query($sql);
if($user->num_rows != 1){
$sql = "INSERT INTO users VALUES ('0', '$username', '$website', '$profile_picture', '$full_name', '$bio', '$instagram_id')";
$user =$db->query($sql);
}
$sql = "SELECT * FROM users WHERE instagram_id = ".$instagram_id." LIMIT 1";
$user = $db->query($sql);
return $user->fetch_assoc();
}
function instagramGramMysql($item, $user, $db) {
$instagram_id = $db->real_escape_string($item['id']);
$create_time = $db->real_escape_string($item['created_time']);
$instagram_link = $db->real_escape_string($item['link']);
$caption = $db->real_escape_string($item['caption']['text']);
$gram_type = $db->real_escape_string($item['type']);
$filter = $db->real_escape_string($item['filter']);
isset($item['location']['latitude']) ? $latitude = $db->real_escape_string($item['location']['latitude']) : $latitude = '0.0';
isset($item['location']['longitude']) ? $longitude = $db->real_escape_string($item['location']['longitude']) : $longitude = '0.0';
$low_resolution = $db->real_escape_string($item['images']['low_resolution']['url']);
$thumbnail = $db->real_escape_string($item['images']['thumbnail']['url']);
$standard_resolution = $db->real_escape_string($item['images']['standard_resolution']['url']);
$user_id = $user['id'];
$sql = "SELECT * FROM grams WHERE instagram_id = '".$instagram_id."' LIMIT 1";
$gram = $db->query($sql);
if($gram->num_rows != 1){
$sql = "INSERT INTO grams VALUES ('0', '$instagram_id', '$create_time', '$gram_type', '$instagram_link', '$caption', '$filter', '$latitude', '$longitude', '$low_resolution', '$thumbnail', '$standard_resolution', '$user_id')";
$gram = $db->query($sql);
}
$sql = "SELECT * FROM grams WHERE instagram_id = '".$instagram_id."' LIMIT 1";
$gram = $db->query($sql);
return $gram->fetch_assoc();
}
$tag = "kpt";
$client_id = "KEY";
$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent?client_id='.$client_id;
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
?>
<ul>
<?php
foreach($results['data'] as $item) {
$user = instagramUserMysql($item['user'], $mysql);
$image = instagramGramMysql($item, $user, $mysql);
echo '<a href="'.$item['link'].'"><img src="'.$item['images']['low_resolution']['url'].'" /></a><br/><h2>'.$item['user']['username'].'</h2>';
}
?>
</ul>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment