[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);
* */
}
留言
張貼留言