웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">

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 입니다.
회원가입을 하셔야 보실 수 있으니... 캡쳐 첨부 합니다.


태그 연관 글
- [2011/11/08] 묻고답하기 blogApi 짧은 주소 사용 불가시 어떻게 해야 될까요? *1
- [2009/11/03] 웹마스터 팁 XE로 API 처리 완전 정복하기(2) *2
- [2009/03/04] 묻고답하기 Windows Live Writer를 이용하여 blogAPI 쓰기 *3
댓글 0
| 제목 | 글쓴이 | 날짜 |
|---|---|---|
| 닉네임 중복체크 버그 해결방법 [7] | 소렌트. | 2014.06.29 |
| 마이피플봇을 이용한 마이피플 알리미 (푸시서비스) 이용하기 [4] | garnecia | 2014.06.01 |
| 에디터가 활성화 되지 않을시... [1] | 똑디 | 2013.11.06 |
| 에디터 컴포넌트에 현재 mid 값 넘겨주기. [1] | 애니즌 | 2014.07.03 |
|
jqm(jQuery Mobile) 사용 시 XE의 CSS 와 충돌할 때
| Canto | 2014.07.03 |
| [javascript] 기초강좌 | 4장. 비교제어문(if문) | hiwebs | 2014.07.02 |
| [javascript] 기초강좌 | 03 논리연산자, 비트, 삼항연산자, 기타연산자 | hiwebs | 2014.07.02 |
| [10원팁] 서버에 계정추가후 새로설치하는데 CSS가 깨진다? [3] | 키스미베이베 | 2014.02.27 |
| 회원가입시 닉네임 특수문자 제한하기 [10] | 절망린 | 2009.06.06 |
| [nginx] Rewrite 예외 설정 | okiz | 2014.06.30 |
| 관리자 비밀번호 분실시 phpmyadmin을 이용하여 재설정하는 방법 [6] | elancer | 2014.03.11 |
|
BlogAPI 활용하기
| 맞장 | 2014.06.29 |
| min.js min.css 정리해서 보기 | Happyphp | 2014.06.26 |
| 부트스트랩 css 팁 [3] | 돼지코구뇽 | 2014.04.05 |
| 추천과 추천포인트 관련 팁 [8] | 고진감래 | 2009.09.30 |
| 관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선 [2] | sejin7940 | 2014.06.21 |
| 템플릿 파일에서 일반 PHP 코드 사용 [3] | 화니군 | 2007.08.28 |
| XE에서 신디케이션 제거하기 [1] | mAKEkr | 2014.06.20 |
|
에디터에서 나눔고딕 웹폰트, 기본글꼴로 적용하기(구글API이용)
[6]
| 애니즌 | 2014.06.06 |
| 관리자페이지에서 콘텐츠->파일 에서 등록된 파일 전체 리스트에 이미지가 바로 나타나도록 [2] | sejin7940 | 2014.06.19 |