plex xml에 해당하는 글 1

  1. plex movie feed2018.12.29

plex movie feed

plex서버에서 최신피드 xml 형으로 만들기


드라마/예능 라이브러리는 xml 방식이 조금다르다. 


* php / codeigniter 기준으로 되어있습니다. 


1. Simplexml 라이브러리 


출처 : https://www.codeigniter-kr.org/bbs/view/source?idx=7542


Simplexml.php


2. xml 주소만들기 


토큰과 카테고리 주소를 알아야된다.


가장쉬운방법으로는 영상 정보에서 xml열기로 확인하자



1. 정보보기

2. view xml


xml 파일을 열어보면 주소 마지막에 토큰값이 있다. ( X-Plex-Token= )

카테고리는 librarySectionKey="/library/sections/21"부분 확인




이제 최신 영화 피드를 보는 xml를 만들어보자.


http://server-ip:32400/library/sections/카테고리ID/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token=토큰ID


들어가서 확인해보면 xml이 만들어져있다. 


3. xml 파싱하기


//Controller 
public function index()
{
	$this->load->model('plexMediaFeed');
	$url = 'server-url';
	$token = '토큰ID';
	$category =  카테고리ID

	$data = array(
		'movieData' => $this->plexMediaFeed->getMovieFeed($url,$token,$category,5)
	);
	$this->load->view('plex-update',$data);
}

//Model 
/**
* $url : 서버주소
* $token : 토큰ID
* $category : 카테고리ID
* $limit : 가져올 개수 
**/
function getMovieFeed($url,$token,$category,$limit='5') {
	$xml_url = $url.'/library/sections/'.$category.'/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token='.$token;
	$xmlRaw = file_get_contents($xml_url);
	$xmlData = $this->simplexml->xml_parse($xmlRaw);

	$data = array();
	foreach($xmlData['Video'] as $row)
	{
		if(!$limit--) break;
		array_push($data,
			array ( 
				'title' => $row['@attributes']['title'], //영화이름
				'thumb' => $url.$row['@attributes']['thumb'].'?X-Plex-Token='.$token, //썸네일 이미지주소 
			)
		);
	}
}


4. 확인 


태그 : , , , ,

댓글()