웹마스터 팁

BlogAPI 활용하기

2014.06.29 00:42

맞장

BlogAPI를 이용해서 PHP로 생성된 파일을 자동으로 올리고 싶어서 구글링을 해봤지만 

확실한 답을 찾지 못하여 이거저거 해보다 나름 방법을 찾아서 남깁니다. ^^;

( 이 방법은 온전한 방법은 아닌거 같습니다. ㅡㅡ;;)


저는 특정 프로그램에서 XML파일을 생성 후 그 내용을 게시판에 매일 자동으로 올리고 

싶어서 이용 할려고 찾은 중요부분 입니다.


기본적으로 Xmlrpc.inc 파일과 BlogAPI 애드온 활성화 하셔야 합니다.


<?php
require_once('xmlrpc.inc');
$g_blog_url = "http://게시판주소/api";
$g_id = "아이디";
$g_passwd = "패스워드";
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
function metaWeblog_newPost( $blogid, $title, $content, $tagwords, $categories)
{
  global $g_id;
  global $g_passwd;
  global $g_blog_url;
  
  $client = new xmlrpc_client( "{$g_blog_url}");
  $f = new xmlrpcmsg("metaWeblog.newPost", // metaWeblog.newPost method
    array( 
      new xmlrpcval("{$blogid}", "string"), // blogid.
      new xmlrpcval($g_id, "string"), // user ID.
      new xmlrpcval($g_passwd, "string"), // password
      new xmlrpcval( // body
          array(
            'title'              => new xmlrpcval($title, "string"),
            'description'    => new xmlrpcval($content, "string"),
          'tagwords'    => new xmlrpcval($tagwords, "string"),
          'categories'  => new xmlrpcval($categories, "string")
        ), "struct"),
      new xmlrpcval(true, "boolean") // publish
    )
  );
  $response = $client->send($f);
}

$blogid = "아이디"; //아이디
$title = "제목"; //제목 
$content = "내용"; //내용
$tagwords = "cate1,cate2");
$categories  = "493"; //XE slr카테고리 번호

metaWeblog_newPost( $blogid, $title, $content, $tagwords, $categories);
?>
 

'tagwords'    => new xmlrpcval($tagwords, "string"),

'categories'  => new xmlrpcval($categories, "string")


이 부분은 원래


'tagwords'    => new xmlrpcval($tagwords, "array"),

'categories'  => new xmlrpcval($categories, "array")


되어야 하는데 배열 변수로 넣어도 되지 않아 삽질을 하다가 BlogAPI 애드온을 변경하는게 좋겠다 싶어서



foreach($info->value->struct->member as $val)
			{
				switch((string)$val->name)
				{
					case 'title' :
						$obj->title = (string)$val->value->string;
						break;
					case 'description' :
						$obj->content = (string)$val->value->string;
						break;
					case 'categories' :
						$categories = $val->value->array->data->value;
						$category = (string)$categories[0]->string;
						if($category && $category_list)
						{
							foreach($category_list as $category_srl => $category_info)
							{
								if($category_info->title == $category)
									$obj->category_srl = $category_srl;
							}
						}
						break;
					case 'tagwords' :
						$tags = $val->value->array->data->value;
						foreach($tags as $tag)
						{
							$tag_list[] = (string)$tag->string;
						}
						if(count($tag_list))
							$obj->tags = implode(',', $tag_list);
						break;
				}
			}


foreach($info->value->struct->member as $val)
			{
				switch((string)$val->name)
				{
					case 'title' :
						$obj->title = (string)$val->value->string;
						break;
					case 'description' :
						$obj->content = (string)$val->value->string;
						break;
					case 'categories' :
						$obj->category_srl = (string)$val->value->string;
						break;
					case 'tagwords' :
						$obj->tags = (string)$val->value->string;
						break;
				}
			}

이렇게 해서 적용한 게시판은 http://nigahae.com/xe/board_dead 입니다. 

회원가입을 하셔야 보실 수 있으니... 캡쳐 첨부 합니다.


x1.gif


x2.gif


xmlrpc_.zip ( xmlrpc.inc , blogapi.addon.php )

태그 연관 글
  1. [2011/11/08] 묻고답하기 blogApi 짧은 주소 사용 불가시 어떻게 해야 될까요? by 은하항공 *1
  2. [2009/11/03] 웹마스터 팁 XE로 API 처리 완전 정복하기(2) by 라르게덴 *2
  3. [2009/03/04] 묻고답하기 Windows Live Writer를 이용하여 blogAPI 쓰기 by 세고비아 *3
제목 글쓴이 날짜
사이트맵에서 메뉴 생성할때 메뉴 추가 항목에 해당 모듈이 바로 연결되도록 [2] sejin7940 2014.01.25
부트스트랩 기초 지식 강의 돼지코구뇽 2014.01.24
xe_2009 게시판 스킨 사용시 브라우저 타이틀 지우기 착한악마 2014.01.23
faq 묘듈 사용시 레이아웃을 깨는 css [3] 착한악마 2014.01.23
input 체크박스, 라디오버튼 테두리 제거 헤이즈디자인 2014.01.22
1.7.3.8 설치 후 위에 어드민바가 안 보이는 증상을 해결하는 방법. [2] 야옹이님 2014.01.22
Captcha 애드온 준회원만 적용하기 [2] 라싸 2014.01.22
썸네일 특정 파일로 불러오기 [18] Lansi 2014.01.21
[jQuery] PNG투명 이미지 animate시 IE7,8 투명이미지 표현 문제. 투니페이퍼 2014.01.21
게시판 최초 정렬을 사용자정의(확장변수) 기준으로 설정 가능하게 하는 방법 [8] sejin7940 2014.01.20
메뉴추가가 안돼요. [2] file 궁굼자 2014.01.20
게시판 설정의 게시판 정보 탭에서, 고급 항목이 항상 노출되도록 하는 방법 [3] sejin7940 2014.01.20
룰셋 적용 팁 [1] file 루비스코 2014.01.20
관리자가 무제한 추천 가능하게 하는 방법 [2] sejin7940 2014.01.17
[10원팁] 스케치북 추천/비추천/신고를 눈에 들어오게 socialskyo 2014.01.17
XE 전체 타이틀(title) 수정하기 [3] pezex 2014.01.16
정확한 계산기 소스입니다. [2] file 현탁 2014.01.15
업로드 용량을 .htaccess 파일로 제어하기 [9] 야옹이님 2014.01.15
짧은주소 사용시 긴주소 검색엔진 차단시키기 [10] Volun 2014.01.14
IE의 깨짐현상(호환성보기 문제) [1] Volun 2014.01.14