/** * Execute the job. * * @return void */ public function handle() { $instagram = new Instagram(array('apiKey' => config('instagram.id'), 'apiSecret' => config('instagram.secret'), 'apiCallback' => 'http://instagram.app')); $account = InstagramAccount::find($this->id); $accountMedia = []; $user = $instagram->getUser($account['instagram_object_id']); if ($user->meta->code == 200) { $mediaCount = $user->data->counts->media; if ($mediaCount != 0) { $media = $instagram->getUserMedia($account['instagram_object_id'], 32); while (!is_null($media)) { foreach ($media->data as $data) { if ($data->type == 'video') { continue; } $accountMedia[] = new InstagramMedia(['instagram_object_id' => $data->id, 'photo_url' => $data->link, 'photo_caption' => is_object($data->caption) ? $data->caption->text : null, 'likes_count' => $data->likes->count, 'comments_count' => $data->comments->count]); } $media = $instagram->pagination($media, 32); } } else { $account->status = InstagramAccount::GRABBER_COMPLETED; $account->save(); } } DB::transaction(function () use($account, $accountMedia) { $account->InstagramMedia()->saveMany($accountMedia); $account->status = InstagramAccount::GRABBER_COMPLETED; $account->save(); }); }
function get_user_id(Instagram $instagram) { $userData = $instagram->getUser(); if ($userData) { return $userData->data->id; } return false; }
/** * Execute the job. * * @return void */ public function handle() { $instagram = new Instagram(array('apiKey' => config('instagram.id'), 'apiSecret' => config('instagram.secret'), 'apiCallback' => 'http://instagram.app')); $account = InstagramAccount::find($this->id); $account->status = InstagramAccount::GRABBER_NOT_COMPLETED; $account->save(); $accountMedia = array_combine($account->instagramMedia->lists('instagram_object_id')->toArray(), $account->instagramMedia->all()); $user = $instagram->getUser($account['instagram_object_id']); if ($user->meta->code == 200) { $mediaCount = $user->data->counts->media; if ($mediaCount != 0) { $media = $instagram->getUserMedia($account['instagram_object_id'], 32); while (!is_null($media)) { foreach ($media->data as $data) { if ($data->type == 'video') { continue; } if ($this->mode == 'WITH_ADVANCED' && isset($accountMedia[$data->id])) { $accountMedia[$data->id]->instagramMediaLike()->save(new InstagramMediaLike(['count' => $data->likes->count - $accountMedia[$data->id]->likes_count])); $comments = $instagram->getMediaComments($data->id); if (!empty($comments->data)) { foreach ($comments->data as $comment) { $accountMedia[$data->id]->instagramMediaComment()->updateOrCreate(['instagram_object_id' => $comment->id], ['instagram_object_id' => $comment->id, 'created_at' => Carbon::createFromTimestamp($comment->created_time)]); } } } if (isset($accountMedia[$data->id])) { // update $accountMedia[$data->id]->photo_caption = is_object($data->caption) ? $data->caption->text : null; $accountMedia[$data->id]->likes_count = $data->likes->count; $accountMedia[$data->id]->comments_count = $data->comments->count; } else { // insert $accountMedia[] = new InstagramMedia(['instagram_object_id' => $data->id, 'photo_url' => $data->link, 'photo_caption' => is_object($data->caption) ? $data->caption->text : null, 'likes_count' => $data->likes->count, 'comments_count' => $data->comments->count]); } } $media = $instagram->pagination($media, 32); } } else { $account->status = InstagramAccount::GRABBER_COMPLETED; $account->save(); } } DB::transaction(function () use($account, $accountMedia) { $account->InstagramMedia()->saveMany($accountMedia); $account->status = InstagramAccount::GRABBER_COMPLETED; $account->save(); }); }
$tmpedge = explode("_|||_", $key); $gdf .= md5($tmpedge[0]) . "," . md5($tmpedge[1]) . "," . $value . "\n"; } file_put_contents($filename . "_tagnet.gdf", $gdf); // create user TAB output $tab_users = "id\tusername\tno_media_in_query\n"; if ($getuserinfo) { $tab_users = "id\tusername\tno_media_in_query\tbio\twebsite\tno_media_all\tfollowed_by\tfollows\n"; $usercounter = 0; echo "<br /><br />getting " . count($users) . " users, user:<br />"; foreach ($users as $user) { $usercounter++; echo $usercounter . " "; flush(); ob_flush(); $result = $instagram->getUser($user["id"]); $users[$user["id"]]["user_bio"] = preg_replace("/\\s+/", " ", trim($result->data->bio)); $users[$user["id"]]["user_website"] = $result->data->website; $users[$user["id"]]["user_no_media"] = $result->data->counts->media; $users[$user["id"]]["user_followed_by"] = $result->data->counts->followed_by; $users[$user["id"]]["user_follows"] = $result->data->counts->follows; sleep(0.5); // to be on the safe side with rate limiting } } foreach ($users as $id => $values) { $tab_users .= implode("\t", $values) . "\n"; } file_put_contents($filename . "_users.tab", $tab_users); // create media TAB output if ($getuserinfo) {
}); $app->get('/login2', function () use($app, $instagram) { $login_url = $instagram->getLoginUrl(array('basic', 'likes')); if (!empty($_GET['code'])) { $code = $_GET['code']; $data = $instagram->getOAuthToken($code); //get access token using the authorization code $instagram->setAccessToken($data); $access_token = $instagram->getAccessToken(); //do anything you want with the access token } else { $app->render('login.php', array('login_url' => $login_url)); } }); $app->get('/user', function () use($app, $instagram, $user_id) { $results = $instagram->getUser($user_id); $app->render('user.php', array('user' => $results->data)); }); $app->get('/tags/search', function () use($app, $client, $access_token) { $tag = 'niagaraFalls'; $response = $client->get("https://api.instagram.com/v1/tags/{$tag}/media/recent?access_token={$access_token}"); $results = $response->json(); $app->render('images.php', array('results' => $results)); }); $app->get('/tags/search-with-tagvalidation', function () use($app, $client, $access_token) { $query = 'Niagara Falls'; $response = $client->get("https://api.instagram.com/v1/tags/search?access_token={$access_token}&q={$query}"); $result = $response->json(); if (!empty($result['data'])) { $tag = $result['data'][0]['name']; $response = $client->get("https://api.instagram.com/v1/tags/{$tag}/media/recent?access_token={$access_token}");
error_reporting(E_ALL); ini_set('display_errors', 1); require 'src/Instagram.php'; use MetzWeb\Instagram\Instagram; $con = mysqli_connect('localhost', 'bella_wonderdog', 'emily1106', 'bella_wonderdog') or die("Cannot Connect to MySQL: " . mysqli_connect_error()); if (isset($_POST['submit']) || isset($argv[1])) { $instagram = new Instagram('b398cceb326a496c971ff89709812fff'); // $instagram = new Instagram(array( // 'apiKey' => 'b398cceb326a496c971ff89709812fff', // 'apiSecret' => '93a296de4bc04ebbbc00632227fb66e3', // 'apiCallback' => 'http://192.168.1.140/bella_wonderdog/' // )); $sqlUser = "******"; $select = mysqli_query($con, $sqlUser) or die("Error inserting user '{$username}': " . mysqli_error($con) . "<br>{$sqlUser}"); while ($row = mysqli_fetch_array($select)) { $user = $instagram->getUser($row['IG_UserID']); $id = $user->data->id; $username = $user->data->username; $bio = urlencode($user->data->bio); $profpic = $user->data->profile_picture; $fullname = $user->data->full_name; $posts = $user->data->counts->media; $followers = $user->data->counts->followed_by; $following = $user->data->counts->follows; $sql = "INSERT INTO `UserData`(`IG_UserID`, `NoFollowers`, `NoFollowing`, `NoPosts`, `Created_at`) VALUES ({$id}, {$followers}, {$following}, {$posts}, NOW())"; mysqli_query($con, $sql) or die("Error inserting user '{$username}': " . mysqli_error($con) . "<br>{$sql}"); echo "{$sql};<br>"; $posts = $instagram->getUserMedia($id, 1000); foreach ($posts->data as $media) { $postid = $media->id; $TagCount = count($media->tags);