[Facebook API] 如何抓取粉絲頁所上傳的照片?
要抓取資料一定需要Access token
Facebook每個App都會有自己的Access token可用
可用Graph API或是在Access Token Tool 中查詢自己App的Access token
要抓取粉絲頁所上傳的API為https://graph.facebook/粉絲頁ID/photos/uploaded
由此可得知吐出的結果為JSON陣列,但如何知道粉絲頁ID?
其實也僅是將粉絲頁的網址中www換成graph就會顯示ID
可以用PHP做點簡單的查詢程式
Facebook每個App都會有自己的Access token可用
可用Graph API或是在Access Token Tool 中查詢自己App的Access token
要抓取粉絲頁所上傳的API為https://graph.facebook/粉絲頁ID/photos/uploaded
由此可得知吐出的結果為JSON陣列,但如何知道粉絲頁ID?
其實也僅是將粉絲頁的網址中www換成graph就會顯示ID
可以用PHP做點簡單的查詢程式
//取得粉絲團頁面的資訊(json陣列) public function get_page_info($identifier=''){ try{ $url='https://graph.facebook.com/'+$identifier; //echo $url; $page_info=file_get_contents($url); return $page_info; }catch(Exception $e){ return "error:".$e; } }接下來可以利用粉絲團ID來查詢粉絲團所上傳照片之資訊
//根據粉絲團if取得照片相關資訊by open graph api public function get_photo_by_graph($page_id){ try{ $url='https://graph.facebook.com/'.$page_id.'/photos/uploaded'; $page_info=file_get_contents($url); return json_decode($page_info); }catch (Exception $e){ return "error:".$e; } }
public function facebook_page_photo_by_graph(){ $this->fb->set_access_token(self::get_app_token()); $photos=$this->fb->get_photo_by_graph(self::facebook_page_id()); $like_person_list = array(); foreach($photos->data as $pho){ //print_r($pho); echo 'id='.$pho->id.'<br/>'; echo 'link='.$pho->link.'<br/>'; echo 'source='.$pho->source.'<br/>'; echo 'name(desciption=)'.$pho->name.'<br/>'; foreach($pho->likes->data as $person){ $like_person_list['id'][]=$person->id; $like_person_list['name'][]=$person->name; } //////paging of likes if(isset($pho->likes->paging->next)){ $url=$pho->likes->paging->next; do{ $like_person_next = json_decode(file_get_contents($url)); if(empty($like_person_next)){ continue; } foreach($like_person_next->data as $person){ $like_person_list['id'][]=$person->id; $like_person_list['name'][]=$person->name; } if(!empty($like_person_next->paging->next)){ $url=$like_person_next->paging->next; }else{ break; } }while(true); } echo 'likers='; print_r($like_person_list); $like_person_list = array(); echo '<br/>'; echo '<hr>'; } /* * self::facebook_page_photo_by_graph($url); * */ }
留言
張貼留言