[백업][가리사니] xml Rpc 블로그 : 2. 포스트 등록
protocols, xml

이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.

XML-RPC 블로그 시리즈

블로그 포스트 등록

<?xml version='1.0'?>
<methodCall>
	<!-- 대부분 블로그 동일 글등록 명령 -->
	<methodName>metaWeblog.newPost</methodName>
	<params>
		<param>
			<!-- 블로그 ID -->
			<!-- 네이버 : 네이버 ID -->
			<!-- 티스토리 :  API ID -->
			<value><string>ID (블로그)</string></value>
		</param>

		<param>
			<!-- 유저 ID -->
			<!-- 네이버 : 네이버 ID -->
			<!-- 티스토리 :  티스토리 ID -->
			<value><string>ID (유저)</string></value>
		</param>

		<param>
			<!-- 네이버 같은경우 관리에 API 코드가 있습니다. -->
			<value><string>API 코드</string></value>
		</param>

		<!-- 이 4번째 파라미터의 경우 member의 name 값이 블로그마다 약간 차이가 있을 수 있습니다. -->
		<!-- 네이버 블로그를 기준으로 작성하였습니다. -->
		<param>
			<value>
				<struct>
					<!-- 제목 -->
					<member>
						<name>title</name>
						<value><string>가리사니 개발자공간</string></value>
					</member>

					<!-- 카테고리 : 블로그에 해당 카테고리가 존재해야함 -->
					<!-- 네이버 : 그냥 스트링으로 써도 무방 -->
					<!-- 티스토리 : 아래처럼 Array 형태로 만들어야함. -->
					<member>
					  	<name>categories</name>
						<value>
							<array>
								<data>
									<value><string>카테고리</string></value>
								</data>
							</array>
						</value>
					</member>

					<!-- 내용 : 당연하지만 html 은 xml 이스케이프를 인코딩 해서 넣어야한다!! -->
					<member>
						<name>description</name>
						<value><string>&lt;h1&gt;가리사니 개발자공간 (수정됨)&lt;/h1&gt;</string></value>
					</member>

					<!-- 태그 : 네이버 -->
					<!-- , 로 구분 -->
					<member>
						<name>tags</name>
						<value><string>태그1, 태그2</string></value>
					</member>

					<!-- 태그 : 티스토리 -->
					<!-- Array로 되어있음 -->
					<member>
					  	<name>mt_keywords</name>
						<value>
							<array>
								<data>
									<value><string>태그1</string></value>
									<value><string>태그2</string></value>
								</data>
							</array>
						</value>
					</member>
				</struct>
			</value>
		</param>

		<!-- 공개/출판 여부 : 비공개 글을 쓸게 아니면 보통 1이다. -->
		<param>
			<value><boolean>1</boolean></value>
		</param>
	</params>
</methodCall>

티스토리의 경우는 categories, tags 를 아래와 같이 배열로 줘야합니다.

<array>
	<data>
		<value><string>값1</string></value>
		<value><string>값n</string></value>
	</data>
</array>

성공시 응답

<?xml version="1.0" encoding="utf-8" ?>
<methodResponse>
	<params>
		<param>
			<value>블로그포스트번호</value>
		</param>
	</params>
</methodResponse>

실패시 응답

<?xml version="1.0"?>
<methodResponse>
	<fault>
		<value>
			<struct>
				<member>
					<name>faultString</name>
					<value>실패사유</value>
				</member>
				<member>
					<name>faultCode</name>
					<value>
						<int>실패코드</int>
					</value>
				</member>
			</struct>
		</value>
	</fault>
</methodResponse>