コード例 #1
0
ファイル: spider.php プロジェクト: neostoic/healthyfood
 public function updateVenue($system_venue_id, $cycles = 5)
 {
     $this->cliOutput('write', 'system_venue_id: ' . $system_venue_id);
     $InstagramClient = new \Instagram\Client();
     // switch($table) {
     // 	case 'venue':
     // first need to get the corresponding instagram place ID
     $instagram_venue_id = \Collection\Venue::getInstagramVenueId($system_venue_id);
     if (!$instagram_venue_id) {
         $foursquare_venue_id = \Collection\Venue::getFoursquareVenueId($system_venue_id);
         // get the ID via API
         $location = $InstagramClient->get('getLocation', $foursquare_venue_id);
         if (isset($location->data[0]->id) && $location->data[0]->id) {
             $instagram_venue_id = \Collection\Venue::saveInstagramVenueJsonToDB($location->data[0], $system_venue_id);
         }
         if (!$instagram_venue_id) {
             $this->cliOutput('write', 'no instagram_venue_id: ' . $system_venue_id);
             continue;
         }
     }
     // get pictures...
     $lastId = 0;
     $media = array();
     for ($i = 0; $i < $cycles; $i++) {
         $response = $InstagramClient->getMediaByLocation($instagram_venue_id, $lastId);
         if (!isset($response->data)) {
             break;
         }
         $media = array_merge($media, $response->data);
         if (!isset($response->pagination->next_max_id) || $lastId == $response->pagination->next_max_id) {
             break;
         }
         $lastId = $response->pagination->next_max_id;
     }
     $this->cliOutput('write', 'instagram_venue_id: ' . $instagram_venue_id);
     $this->cliOutput('write', 'pictures: ' . count($media));
     foreach ($media as $key => $media) {
         $response = \Collection\Interaction::saveInstagramJsonToDB($media, $system_venue_id);
     }
     return true;
 }