概要
WordPressの xmlrpc.php を使ってvb.netから記事を投稿します。
環境
- Windows 10 (64bit版)
- Microsoft Visual Studio Community 2017
xml-rpc用のライブラリを取得
xml-rpc.netにアクセスして、 xml-rpc.net.2.5.0.zip を任意のフォルダにダウンロードして展開しておきます。
Visual Studioにて、vb.net – コンソールアプリを作成し、参照を追加
さらに参照を押下し、展開したフォルダ内にある xmlRpcV2.dll を参照設定し、チェックを付けておく。
vb.netからWordPressに投稿するサンプルプログラム
Module1.vb に以下のコードを貼り付ける。
[vb]
Imports CookComputing.XmlRpc
Public Interface WeblogRpcCategory
<CookComputing.XmlRpc.XmlRpcMethod("metaWeblog.newPost")>
Function NewPage(ByVal id As Integer,
ByVal user As String,
ByVal pass As String,
ByVal content As strContents,
ByVal publish As Integer) As String
End Interface
Public Structure strContents
Public title As String
Public description As String
End Structure
Module Module1
Class WpXmlRpc
Public id = 1
Public user As String = ""
Public pass As String = ""
Public xmlrpcURL As String = ""
Public Function newPost(ByVal title As String,
ByVal post As String,
ByVal publish As Integer) As String
Dim categories As WeblogRpcCategory = CType(XmlRpcProxyGen.Create(GetType(WeblogRpcCategory)), WeblogRpcCategory)
Dim RPCServer As XmlRpcClientProtocol = CType(categories, XmlRpcClientProtocol)
Dim ContentsArray As strContents = Nothing
Dim result As String = ""
RPCServer.Url = xmlrpcURL
ContentsArray.title = title
ContentsArray.description = post
Try
Return categories.NewPage(1, user, pass, ContentsArray, publish).ToString
Catch ex As Exception
Return ex.Message
End Try
End Function
End Class
Sub Main()
‘Dim wp As New clsXmlRpc
With New WpXmlRpc
.id = 1
.user = "ここにユーザー名を記述"
.pass = "ここにパスワードを記述"
.xmlrpcURL = "https://localhost.net/xmlrpc.php"
.newPost("今日は多治見より1度も涼しかったです",
"それでも39度もあるわけですが・・・" & vbCrLf & "><。", 1)
End With
End Sub
End Module
[/vb]
コメント