VBScript : XML-RPC で Seesaa に投稿( オプションを付けてカテゴリ選択 )

  新規投稿時には、カテゴリを設定できないので2回呼び出しています



単純な仕様なのに、ちゃんとしたドキュメントが無く、情報を集めるのに苦労しました。

1) 日本語の Six Apart の 詳細では無い古いドキュメント
2) 一般リンク : MovableType で使える XML-RPC API
3) Seesaa の追加 API : ブログ ・ヘルプ: Seesaa XML-RPC APIについて(開発者向け)
4) Microsoft 用のドキュメント : MetaWeblogAPI metaWeblog.newPost メソッド


seesaa.wsf
<JOB>
<COMMENT>
************************************************************
 XML-RPC
 Seesaa にオプション付きで投稿してカテゴリを設定する

 mt_convert_breaks : 0 : 改行を<br/>タグに変換しない 
                     1 : 改行は<br/>タグに変換する

 mt_allow_comments : 0 : 受付しない/表示しない
                     1 : 受付/表示
                     2 : 受付しない/表示 
                     3 : 受付/承認後表示
************************************************************
</COMMENT>

<OBJECT id="objHTTP" progid="Msxml2.XMLHTTP" />

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
' ソース内テキストデータの表示
str = RegTrim(GetResource("myTextData"))
'Wscript.Echo str

Call objHTTP.Open( "POST","https://ssl.seesaa.jp/blog/rpc", False )
' POST 用 HTTP ヘッダ
Call objHTTP.setRequestHeader("Content-Type", "text/xml" )
Call objHTTP.setRequestHeader("User-Agent", "WSH : lightbox" )
Call objHTTP.SetRequestHeader("Content-Length",Len(str))
Call objHTTP.Send(str)

Set objList = objHTTP.responseXML.getElementsByTagName("string")
PostID = objList.item(0).firstChild.nodeValue

str = Replace(RegTrim(GetResource("myTextData2")),"$PostID", PostID )
'Wscript.Echo str

Call objHTTP.Open( "POST","https://ssl.seesaa.jp/blog/rpc", False )
' POST 用 HTTP ヘッダ
Call objHTTP.setRequestHeader("Content-Type", "text/xml" )
Call objHTTP.setRequestHeader("User-Agent", "WSH : lightbox" )
Call objHTTP.SetRequestHeader("Content-Length",Len(str))
Call objHTTP.Send(str)

'Wscript.Echo objHTTP.responseText

' GUI 
MsgBox( "処理が終了しました   " )

' ***********************************************************
' 文字列前後の漢字スペースを含むホワイトスペースの削除
' ***********************************************************
Function RegTrim( strValue )

	Dim regEx, str

	Set regEx = New RegExp
	regEx.IgnoreCase = True
	regEx.Pattern = "^[ \s]+"
	str = regEx.Replace( strValue, "" )
	regEx.Pattern = "[ \s]+$"
	RegTrim = regEx.Replace( str, "" )

End Function
</SCRIPT>

<COMMENT>
************************************************************
 ソース内テキストデータ
************************************************************
</COMMENT>
<RESOURCE id="myTextData">
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<methodCall> 
	<methodName>metaWeblog.newPost</methodName> 
	<params> 
		<param>
			<value>
				<string>ブログ番号</string>
			</value>
		</param>
		<param>
			<value>メールアドレス</value>
		</param>
		<param>
			<value>
				<string>パスワード</string>
			</value>
		</param>
		<param>
			<value>
				<struct>
					<member>
						<name>title</name>
						<value>
							<string>XML-RPCで投稿中</string>
						</value>
					</member>
					<member>
						<name>description</name>
						<value>
							<string>なんでまともな仕様書が無いのでしょう</string>
						</value>
					</member>
					<member> 
						<name>dateCreated</name> 
						<value>
							<dateTime.iso8601>20100630T21:06:01</dateTime.iso8601> 
						</value> 
					</member> 
					<member> 
						<name>mt_convert_breaks</name> 
						<value>
							<string>0</string>
						</value>
					</member> 
					<member> 
						<name>mt_allow_comments</name> 
						<value>
							<int>3</int>
						</value>
					</member>
				</struct>
			</value>
		</param> 
	</params>
</methodCall>
]]>
</RESOURCE>

<RESOURCE id="myTextData2">
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<methodCall> 
	<methodName>mt.setPostCategories</methodName> 
	<params> 
		<param>
			<value>
				<string>$PostID</string>
			</value>
		</param>
		<param>
			<value>メールアドレス</value>
		</param>
		<param>
			<value>
				<string>パスワード</string>
			</value>
		</param>
		<param>
			<value>
				<array>
					<data>
						<value>
							<struct>
								<member>
									<name>categoryId</name>
									<value>
										<int>カテゴリ番号</int>
									</value>
								</member>
							</struct>
						</value>
					</data>
				</array>
		 	</value>
		</param>
	</params>
</methodCall>
]]>
</RESOURCE>

</JOB>


















   SQLの窓    create:2010/06/01  update:2015/11/02   管理者用(要ログイン)





フリーフォントWEBサービス

SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ