使ってみよう! Windows Live SDK/API

第39回 Live Spaces API/SDK(1)──ブログへ投稿

この記事を読むのに必要な時間:およそ 6.5 分

Live Spaces

今回からはWindows Live Spacesに関するAPI/SDKを使ってみましょう。Live Spacesは,オンラインのWindows Liveサービスのひとつで無料のブログサービスです。最近は目立ったアップデートはなく,ほかのブログサービスの機能と比べ見劣りする部分もありますが,ガジェットの追加や簡単なデザインのカスタマイズ,アクセスの制限などの機能が特徴です。Live MessengerやLive フォトなど,ほかのWindows Liveサービスとの連携しているのも特徴です。もちろんWindows Live Writerからブログの投稿も可能です。

Live Spacesに用意されているAPI/SDKは次の2種類があります。

Live Spaces MetaWeblog API

Webサイトではなく外部アプリケーションからブログに記事の投稿や編集・削除,ブログやユーザーの情報を取得するためのAPIです。Live Spaces特有のものではなくMetaWeblog APIという一般的な方法が使用します。Live SpacesはこのAPIに対応したブログということになります。この後,もう少し詳しく紹介します。

Live Spaces APIs and Feeds

Live SpacesのURLにパラメーターを付けてアクセスすると,タイトルと本文を指定した投稿ページを開いたり,指定したガジェットを追加するページを開いたりするAPIです(実行はユーザーがします)⁠また,Live Spacesはひとりのユーザーに対して複数のRSSフィードが提供されています。それらのフィードのURLと内容の解説がMSDN Libraryに解説されています。このAPIとフィードについて今回は説明していません。

今回は,Live Spacesにアプリケーションから記事を投稿してみましょう。

メールから投稿

Live Spacesに記事を投稿する場合,Webサイトから投稿する方法以外に,携帯電話などからメールで投稿する機能が用意されています。単純にLive Spacesに投稿したいだけの場合,この機能をアプリケーションから使用するのもひとつの手かもしれません。

メールで投稿する場合,あらかじめ機能を有効にしておく必要があります。設定は,自分のLive Spacesへ移動し(http://***.spaces.live.com 形式のURLです)⁠オプションメニューから電子メール投稿を選択します図1)⁠

図1 オプションメニュー

図1 オプションメニュー

移動したページで,メールからの投稿を有効にします。このページでは,投稿に使用するメールアドレスと秘密のキーワードと呼ばれる文字列を設定します図2)。

図2 電子メール投稿の設定

図2 電子メール投稿の設定

キーワードを組み合わせたメールアドレス宛へ指定したメールから投稿することで,メールからの投稿が可能になります。メールに写真を添付することで,フォトアルバムへ写真の投稿も可能です。メールした内容をすぐに記事としてブログへ投稿するか,下書きとして保存するかも設定できます。

この方法を利用して投稿する場合,プログラムでは次のように記述できます。以下は,Visual Basicを使用したメールの送信方法です。

' Imports System.Net.Mail
' メールメッセージ
' 引数の from には投稿に使用するメールアドレスを指定
' 引数の to には ブログのメールアドレスを指定
Dim message = New MailMessage(
              "from@example.jp",
              "***.your_spaces_name@spaces.live.com",
              "タイトル",
              "本文")
Using client = New SmtpClient("smtp.example.jp", 587) ' SMTPサーバーアドレスとポート番号を指定
    ' メール送信
    client.Send(message)
End Using

写真の投稿はメールにファイルを添付します。コードは次のようになります。ファイルを添付するコードを追加しています。

' メールメッセージ
' 引数の from には投稿に使用するメールアドレスを指定
' 引数の to には ブログまたはアルバムのメールアドレスを指定
Dim message = New MailMessage(
              "from@examlple.jp",
              "***.album_id.your_spaces_name@spaces.live.com",
              "タイトル",
              "本文")
Using client = New SmtpClient("smtp.example.jp", 587) ' SMTPサーバーアドレスとポート番号を指

    ' メールに写真を添付
    Dim file = "kasukabe.jpg"
    Dim data = New Attachment(file, Net.Mime.MediaTypeNames.Application.Octet)
    message.Attachments.Add(data)

    ' メール送信
    client.Send(message)
End Using

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入