表示メッセージの更新
次は,
Activityオブジェクト
Live Connectで利用する場合,
{
"description": "デスクトップアプリからの利用を紹介します。",
"link": "http://gihyo.jp/dev/serial/01/wl-sdk/0047",
"message": "第47回 デスクトップアプリでWindows Live統合",
"name": "使ってみよう! Windows Live SDK/API",
"picture": "http://image.gihyo.co.jp/assets/images/ICON/2008/thumb/TH64_137_wl-sdk.png"
}
Activityオブジェクトの内容は次の通りです。
プロパティ | 型 | 説明 |
---|---|---|
message | string | メッセージ |
link | string | 共有する内容のURL |
description | string | 共有する内容の説明 |
picture | string | 共有する内容のサムネイル画像のURL |
name | string | 共有する内容のタイトル |
source | string | 動画の共有の場合, |
上記の内容に加えて,
{
"from": {
"name": "梓 中野",
"id": "xxxxx"
},
"message": "第47回デスクトップアプリでWindows Live統合",
"link": "http://gihyo.jp/dev/serial/01/wl-sdk/0047",
"description": "デスクトップアプリからの利用を紹介します。",
"picture": "http://image.gihyo.co.jp/assets/images/ICON/2008/thumb/TH64_137_wl-sdk.png",
"name": "使ってみよう! Windows Live SDK/API",
"source": null
}
値は次の通りです。
プロパティ | 型 | 説明 |
---|---|---|
from | string | 共有した |
id | string | ユーザーのID |
サンプルアプリ
さきほど作ったサンプルアプリに,
メインウィンドウのXAMLコードに追記し,
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Top" Margin="5">
<TextBox x:Name="StatusTextBox" Width="300" />
<Button x:Name="PostButton" Content="投稿" Width="80" Margin="10 0 0 0" />
</StackPanel>
投稿ボタンをクリックしたときの処理を,
Private Sub PostButton_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles PostButton.Click
Dim message = StatusTextBox.Text
task.Factory.StartNew(
Function() As JObject
' Activity の作成
Dim activity = New JObject
activity("message") = message
' REST API 呼出し(投稿)
Using client = New WebClient With {.Encoding = System.Text.Encoding.UTF8}
client.Headers(HttpRequestHeader.ContentType) = "application/json"
Dim json = client.UploadString(String.Format(LiveUriFormat, "me/share", Me.AccessToken),
JsonConvert.SerializeObject(activity, Formatting.None))
Return JObject.Parse(json)
End Using
End Function).ContinueWith(
Sub(o)
MessageBox.Show("投稿しました")
End Sub, TaskScheduler.FromCurrentSynchronizationContext)
End Sub
編集は以上です。実行して確認してみてください。上記コードでは,
次のようにほかの値も指定すると画像の共有なども可能です。こちらも試してみてください。
' Activity の作成
Dim activity = New JObject
activity("message") = "第47回 デスクトップアプリでWindows Live統合"
activity("link") = "http://gihyo.jp/dev/serial/01/wl-sdk/0047"
activity("description") = "デスクトップアプリからの利用を紹介します。"
activity("picture") = "http://image.gihyo.co.jp/assets/images/ICON/2008/thumb/TH64_137_wl-sdk.png"
activity("name") = "使ってみよう! Windows Live SDK/API"
live.
おわりに
今回は以上です。いかがでしたでしょうか。デスクトップアプリからのLive Connectの利用について紹介しました。モバイルアプリも同じようにWebブラウザーコントロールを使用してアクセストークンを取得します。注釈で少しふれていますが,
Liveサービスとの連携では,