Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Windows Phoneアプ
リとネットサービ
スとの連携
Windows Phone勉強会@四日市 第1回
2011/12/10
青木宣明 @kumar0001
Agenda
Windows Phoneはネットワークとの連携に主
眼が置かれています。電話機単体でできること
もありますが、ネットワークサービスと連携する
ことでできることが広がります
今回は、Windows Phoneアプリの外部連携の...
目次
1. Windows Phoneと外部との連携
2. WPアプリと外部との連携
3. Live ConnectによるWindows Liveとの連携
1. Live IDによる認証・認可
2. Hotmail(カレンダー・アドレス帳)への...
WINDOWS PHONEと外部との連携
Windows Phoneの外部連携
広い意味での連携=Windows Phoneが外部
とやりとりするためのインターフェース
・GPS
・カメラ
通信
(3G/Wi-fi)
センサー
・加速度
・近接
・照度
・地磁気
・ジャイロスコープ
...
ハブ=クラウドとの連携
Windows Phoneは標準機能としてクラウドと連
携する”ハブ”を提供している。
ハブ 機能
Music + Video 電話機の音楽・ビデオの再生。PCとの同期も。本来
はコンテンツの購入もできる
People...
クラウドと同期される情報(1)
アドレス帳の情報、カレンダーのイベント情報も
同期される
クラウドと同期される情報(2)
OfficeハブはSkyDriveに保存されたファイルと
同期する
WP7アプリと外部との連携
WPアプリの外部連携
Windows Phoneアプリから、これらの外部イン
ターフェースを利用できる
• カメラによる撮影、バーコード読み取り
• GPSによる位置検出 (A-GPS)
• Wi-Fi/携帯電話による位置検出(Default...
Pictureハブの“共有…”
Pictureハブにある画像ファイルを、アプリから
利用できる機能
Pictureハブの“共有…”
ただし電話機ローカルの画像だけ
ネットワーク上の画像ファイルは扱えない
オンラインの画像
ファイルを扱うた
めには、アプリが
頑張るしかない
Peopleハブのアドレス帳
アプリからアドレス帳の情報を取得できる
Contactsクラスの
SearchAsyncメソッドで検索す
る
検索結果をLINQでソート
&リスト要素作成
Peopleハブのアドレス帳
SearchAsyncの検索結果
• Microsoft.Phone.UserData.Contactクラス
Name Description
Accounts データ元
Addresses 住所
Birthda...
カレンダーのイベント情報
カレンダーのイベント情報も取得可能
Appointmentsクラスの
SearchAsyncメソッドで検索す
る
検索結果をLINQでソート
&リスト要素作成
カレンダーのイベント情報
SearchAsyncの検索結果
• Microsoft.Phone.UserData.Appointmentクラス
Name Description
Account データ元
Attendees 参加者
Detai...
アドレス帳・カレンダーの利
用の問題点
アドレス帳のコンタクト情報、カレンダーのイベ
ント情報はどちらも読み取り専用
アプリからデータを登録・更新・削除することができ
ない
データの登録・更新・削除をするためには、
アプリが別の方法で頑張る...
SkyDriveへのアクセス
Windows Phoneの機能として、SkyDrive上の
ファイルにアクセスできる
アプリからSkyDriveにアクセスするAPIは、公
式には提供されてこなかった
Live Connect によるWindows Liveとの
連携
Windows Live
Microsoftによる各種クラウドサービスのブラン
ド
• Live ID: シングルサインオン(認証)
• Profile: ユーザ情報
• Hotmail: カレンダー、アドレス帳
• SkyDrive: 写真...
Live Connectとは
Windows LiveのAPI
• 以前は”Windows Live Messenger Connect”と
呼ばれていた
• http://msdn.microsoft.com/en-us/library/f...
Live ConnectのAPIの種類
APIは以下の3種類が提供されている
1. JavaScript API
• Webアプリ, Metro style apps(Win8)
2. Managed API
• .NETアプリ(WP7, M...
Live Connectの提供機能
サービス 機能
ID /
Profiles
認証、ユーザ情報のアクセス
Hotmail カレンダー情報の作成、読み取り、更新、削除
イベントの作成、読み取り、更新、削除
アドレス帳情報の取得、作成
SkyDr...
利用の流れ
事前準備
1. アプリケーションをWindows Liveに登録してClient
IDを取得する
アプリでのLive Connectの利用
1. 認可
• OAuth 2.0を用いてユーザからデータアクセスの認可を
得る
• 認...
アプリの登録(1/4)
Step1) https://manage.dev.live.com/ にアクセスし
て、”Create Application”をクリック
アプリの登録(2/4)
Step2) アプリ名と言語を設定して”I accept”をクリッ
ク
アプリの登録(3/4)
Step3) 表示されたClient IDを記録しておく
アプリの登録(4/4)
Step4) “Application Settings Page”→”API
Settings”とクリック。” Mobile client app”をYesにし
てSave
LIVE IDによる認証・認可
Live IDによる認証・認可
認可の流れ
• 認可(auhorize)のURLを呼び出す
Client ID
許可してほしい機能(Scope)
• Live Connectのサインインページを経て、ユー
ザに権限の許可を求める画面が表示...
Scope (1/2)
アプリがLive Connectの機能を使う前にユーザから得
る許可のこと
• 参照) SDK同梱のヘルプファイルの”Live Connect
Reference”→”Scopes and permissions”
S...
Scope (2/2)
Scope 許可される操作
wl.phone_numbers 個人・仕事・モバイルの電話番号の取得
wl.postal_addresse
s
郵便番号の取得
wl.share ユーザの状態のメッセージ(オンライン・退席中...
Sign-inボタン
Live Connectが提供するコントロールで、RESTでのア
クセスなしで簡単にLive Connectへのサインインができ
る
※アクセス先に応じたロゴに変更可能
※SignInの文字も変更可能
Sign-Inボタンの使い方(1/5)
プロジェクト
A) アセンブリの参照を追加
• Microsoft.Live
• Microsoft.Live.Controls
Sign-Inボタンの使い方(2/5)
XAML
A) 名前空間の宣言を追加
xmlns:live="clr-
namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Control...
Sign-Inボタンの使い方(3/5)
XAML
A) SignInButtonを追加する
• ClientIdに取得したクライアントIDを記述
• Scopes属性に必要なScopeをカンマ区切りで記述
• RedirectUriは”htt...
Sign-Inボタンの使い方(4/5)
ViewModel
A) SessionChangedイベントを受けるハンドラを定義
ここでは、ViewModelのコマンドとして定義
保存したLiveConnectClientオブジェクトを
使ってア...
Sign-Inボタンの使い方(5/5)
ViewModel
A) LiveConnectClientを使ってアクセスする
Rxを使って
GetCompletedイベント
を処理する
RESTのURI /meで自分のコンタクト情報を取得
Sign-Inボタンの問題
簡単に使えるSign-Inボタンですが…
Sign-Inボタンを使ったWP7アプリが審査落ち
• ロゴを隠すことで審査に通過したとのこと
SDKリファレンスには…
SDKのリファレンスによると”none”を指定できると
あるが、実際には利用不可
対策
Sign-Inボタンの問題への対策案
A) Sign-ボタンのロゴを隠すように細工する
B) REST APIでの認可を行う
C) ボタンのロゴについて、ユーザ向け(アプリのAbout
画面など) 、テスター向け(申請時の指示欄)に説明...
Sign-Inボタンを使わない方法
REST APIによる認可
• REST APIを使って自前で認可を処理する
• ボタン以外のUIからの認可の実行もできる
• 参考)
【WP for ITPro】Windows Phone アプリから W...
REST APIでの認可(1/4)
XAML
• WebBrowserコントロールを配置
• Navigatedイベントをハンドルする
REST APIでの認可(2/4)
ViewModel
• Authボタンのコマンドで認可用URLに遷移
REST APIでの認可(3/4)
View (コードビハインド)
• ViewModelメッセージハンドラを登録しておく
• ViewModelからViewへの操作用
• WebBrowserコントロールへのNavigateの指示を行う
REST APIでの認可(4/4)
ViewModel
• WebBrowserコントロールのNavigatedイベントをハ
ンドルする 遷移先URLを利用して、
認可完了を判定
URLのパラメータから
アクセストークンを取得する
※以降のア...
HOTMAIL(カレンダー)へのアクセス
カレンダーイベントへのアクセス
Scope
Scope 選択基準
wl.calendars カレンダーとイベントの読み込みだけの場合
wl.calendars_update カレンダーとイベントの読み込み、および追加・更
新・削除の場合
wl...
カレンダーイベントへのアクセス
URL
GET
• /CALENDAR_ID/events ⇒ カレンダーのイベント情報
• /me/events ⇒ ユーザのイベント情報
• /USER_ID/events ⇒ 指定したユーザのイベント情...
Eventオブジェクト
Live Connect
Preliminary Document
より抜粋
Live Connect reference
の”REST API”章
Eventオブジェクト
(参考) Live Connect referenceの”REST API”章
{
"data": [
{
"id": "event.234a66f5917828a7.00e3268d4510499d8194f948a2...
サンプル
ユーザのイベント一覧の取得
結果がDictionary<string,object>のた
め扱いにくい
JSONの生の結果データをRawResult
で取得できるので、方法があれば自前
でパースも?
サンプル
イベントの作成 Dictionary<string,object>
にデータを設定する
PostAsyncでデータを
POST
SKYDRIVEへのアクセス
SkyDriveへのアクセス
Scope
Scope 選択基準
wl.skydrive SkyDriveのドキュメント・写真の読み込みだけの場
合
wl.skydrive_update SkyDriveのドキュメント・写真の読み込み、および追...
Fileオブジェクト
Live Connect
Preliminary Document
より抜粋
Live Connect reference
の”REST API”章
Folderオブジェクト
Live Connect
Preliminary Document
より抜粋
Live Connect reference
の”REST API”章
Folderオブジェクト
(参考) Live Connect referenceの”REST API”章
{
"data": [
{
"id": "folder.56a63380c6d55c7e.56A63380C6D55C7E!213",
"...
サンプル
フォルダ一覧の取得
サンプル
ファイルのアップロード
時間の都合でサンプルの実装が間に合いません
でした…。ブログで紹介できればと思います。
まとめ
クラウドとの連携に主眼を置いたWindows Phone
ですが、そのWPアプリがクラウドと連携する上で十
分な機能が提供されていません。
Windows Liveとの連携については、2011年9月
に”Live Connect”が...
ご静聴ありがとうございました
Windows phoneアプリとネットサービスとの連携
Windows phoneアプリとネットサービスとの連携
Windows phoneアプリとネットサービスとの連携
Upcoming SlideShare
Loading in …5
×

Windows phoneアプリとネットサービスとの連携

1,380 views

Published on

第1回まどべんよっかいち(2011/12/10)での発表スライドです。

  • Be the first to comment

  • Be the first to like this

Windows phoneアプリとネットサービスとの連携

  1. 1. Windows Phoneアプ リとネットサービ スとの連携 Windows Phone勉強会@四日市 第1回 2011/12/10 青木宣明 @kumar0001
  2. 2. Agenda Windows Phoneはネットワークとの連携に主 眼が置かれています。電話機単体でできること もありますが、ネットワークサービスと連携する ことでできることが広がります 今回は、Windows Phoneアプリの外部連携の 例として、Windows Liveにアクセスするライブラ リである”Live Connect”を紹介します
  3. 3. 目次 1. Windows Phoneと外部との連携 2. WPアプリと外部との連携 3. Live ConnectによるWindows Liveとの連携 1. Live IDによる認証・認可 2. Hotmail(カレンダー・アドレス帳)へのアクセス 3. SkyDriveへのアクセス
  4. 4. WINDOWS PHONEと外部との連携
  5. 5. Windows Phoneの外部連携 広い意味での連携=Windows Phoneが外部 とやりとりするためのインターフェース ・GPS ・カメラ 通信 (3G/Wi-fi) センサー ・加速度 ・近接 ・照度 ・地磁気 ・ジャイロスコープ ・モーション
  6. 6. ハブ=クラウドとの連携 Windows Phoneは標準機能としてクラウドと連 携する”ハブ”を提供している。 ハブ 機能 Music + Video 電話機の音楽・ビデオの再生。PCとの同期も。本来 はコンテンツの購入もできる People オンラインのアドレス帳、SNSのアカウント情報を一元 的に管理。SNSの更新情報の表示、および投稿 Marketplace アプリケーションの入手 Games XBox Liveと連携 Pictures 写真を一元管理。電話機だけなく、PCとの同期、SN S・SkyDriveにある写真も表示 Office SharePoint、SkyDriveにあるOfficeファイルの表示・ 編集
  7. 7. クラウドと同期される情報(1) アドレス帳の情報、カレンダーのイベント情報も 同期される
  8. 8. クラウドと同期される情報(2) OfficeハブはSkyDriveに保存されたファイルと 同期する
  9. 9. WP7アプリと外部との連携
  10. 10. WPアプリの外部連携 Windows Phoneアプリから、これらの外部イン ターフェースを利用できる • カメラによる撮影、バーコード読み取り • GPSによる位置検出 (A-GPS) • Wi-Fi/携帯電話による位置検出(Default) • GPS衛星による位置検出(High) • センサーへのアクセス • ハブのデータ利用 • 通信によるクラウドとの連携 • HTTP通信などでWindows Live, Facebookなど のサービスにアクセス
  11. 11. Pictureハブの“共有…” Pictureハブにある画像ファイルを、アプリから 利用できる機能
  12. 12. Pictureハブの“共有…” ただし電話機ローカルの画像だけ ネットワーク上の画像ファイルは扱えない オンラインの画像 ファイルを扱うた めには、アプリが 頑張るしかない
  13. 13. Peopleハブのアドレス帳 アプリからアドレス帳の情報を取得できる Contactsクラスの SearchAsyncメソッドで検索す る 検索結果をLINQでソート &リスト要素作成
  14. 14. Peopleハブのアドレス帳 SearchAsyncの検索結果 • Microsoft.Phone.UserData.Contactクラス Name Description Accounts データ元 Addresses 住所 Birthdays 誕生日 Children 子供 Companies 会社 CompleteName フルネーム DisplayName 表示名 Name Description EmailAddresses 電子メールアドレス IsPinnedToStart スタート画面にピン留めされているか Notes メモ PhoneNumbers 電話番号 SignificantOthers ? Websites Webサイト
  15. 15. カレンダーのイベント情報 カレンダーのイベント情報も取得可能 Appointmentsクラスの SearchAsyncメソッドで検索す る 検索結果をLINQでソート &リスト要素作成
  16. 16. カレンダーのイベント情報 SearchAsyncの検索結果 • Microsoft.Phone.UserData.Appointmentクラス Name Description Account データ元 Attendees 参加者 Details 詳細 EndTime 終了日時 IsAllDayEvent 終日のイベントかを示すフラグ IsPrivate プライベートなイベントかを示すフラグ Location 場所 Organizer 主催者 StartTime 開始日時 Status 予定の公開方法(予定あり, 外出中とか) Subject 件名
  17. 17. アドレス帳・カレンダーの利 用の問題点 アドレス帳のコンタクト情報、カレンダーのイベ ント情報はどちらも読み取り専用 アプリからデータを登録・更新・削除することができ ない データの登録・更新・削除をするためには、 アプリが別の方法で頑張るしかない
  18. 18. SkyDriveへのアクセス Windows Phoneの機能として、SkyDrive上の ファイルにアクセスできる アプリからSkyDriveにアクセスするAPIは、公 式には提供されてこなかった
  19. 19. Live Connect によるWindows Liveとの 連携
  20. 20. Windows Live Microsoftによる各種クラウドサービスのブラン ド • Live ID: シングルサインオン(認証) • Profile: ユーザ情報 • Hotmail: カレンダー、アドレス帳 • SkyDrive: 写真、ドキュメントなどのオンラインスト レージ • Live Mesh: PC間の同期サービス …
  21. 21. Live Connectとは Windows LiveのAPI • 以前は”Windows Live Messenger Connect”と 呼ばれていた • http://msdn.microsoft.com/en-us/library/ff749458.aspx • (参考) http://gihyo.jp/dev/serial/01/wl-sdk/0042 • 2011年9月13日に//build/において”Live Connect”と名称変更 • (参考) http://gihyo.jp/dev/serial/01/wl-sdk/0044 Live SDK Developer Previewが提供されてい る • https://connect.microsoft.com/site1226 • (参考) 同梱のHelp(CHM)ファイル。APIの詳細な説明がある • 公開アプリでも利用可能(⇒同梱のライセンス文書)
  22. 22. Live ConnectのAPIの種類 APIは以下の3種類が提供されている 1. JavaScript API • Webアプリ, Metro style apps(Win8) 2. Managed API • .NETアプリ(WP7, Metro style apps) 3. REST API • 上記以外の環境 Desktopアプリ(WPFなど)とモバイルアプリ(非 WP7)は正式にはサポートしていないが、REST APIによるアクセスが可能 • 同梱のヘルプファイルにサンプル有り
  23. 23. Live Connectの提供機能 サービス 機能 ID / Profiles 認証、ユーザ情報のアクセス Hotmail カレンダー情報の作成、読み取り、更新、削除 イベントの作成、読み取り、更新、削除 アドレス帳情報の取得、作成 SkyDrive ファイル(写真、ドキュメント)のアップロード、取得、 更新、削除 ファイルのコピー、移動 フォルダの作成、削除、更新 公開URLの取得(読み取りのみ、読み書き両方) Messenge r XMPPによるメッセンジャーの利用 ステータス(在席、ビジーなど)の設定
  24. 24. 利用の流れ 事前準備 1. アプリケーションをWindows Liveに登録してClient IDを取得する アプリでのLive Connectの利用 1. 認可 • OAuth 2.0を用いてユーザからデータアクセスの認可を 得る • 認可の結果としてアクセストークンを入手する 2. データアクセス • REST APIによりデータにアクセスする • 必要に応じて、戻り値のJSONを解析して、データを利 用する
  25. 25. アプリの登録(1/4) Step1) https://manage.dev.live.com/ にアクセスし て、”Create Application”をクリック
  26. 26. アプリの登録(2/4) Step2) アプリ名と言語を設定して”I accept”をクリッ ク
  27. 27. アプリの登録(3/4) Step3) 表示されたClient IDを記録しておく
  28. 28. アプリの登録(4/4) Step4) “Application Settings Page”→”API Settings”とクリック。” Mobile client app”をYesにし てSave
  29. 29. LIVE IDによる認証・認可
  30. 30. Live IDによる認証・認可 認可の流れ • 認可(auhorize)のURLを呼び出す Client ID 許可してほしい機能(Scope) • Live Connectのサインインページを経て、ユー ザに権限の許可を求める画面が表示される • ユーザが許可するとアクセストークンが発行される それ以降のAPI利用時にアクセストークンを指定する
  31. 31. Scope (1/2) アプリがLive Connectの機能を使う前にユーザから得 る許可のこと • 参照) SDK同梱のヘルプファイルの”Live Connect Reference”→”Scopes and permissions” Scope 許可される操作 wl.basic 基本プロファイル、アドレス帳のユーザリストの取得 wl.birthday 誕生日情報の取得 wl.calendars カレンダーとイベント情報の取得 wl.calendars_update カレンダー/イベントの取得と更新 wl.emails 個人・preferred・ビジネスのメールアドレスの取得 wl.photos 写真・動画・アルバムの取得 Scopeの代表 例
  32. 32. Scope (2/2) Scope 許可される操作 wl.phone_numbers 個人・仕事・モバイルの電話番号の取得 wl.postal_addresse s 郵便番号の取得 wl.share ユーザの状態のメッセージ(オンライン・退席中など)の更新 wl.skydrive SkyDriveのドキュメント・写真の取得 wl.skydrive_update SkyDriveのドキュメント・写真の取得と更新 これらの他にもアクセスする情報に応じて細かく分かれた 権限が定義されている。
  33. 33. Sign-inボタン Live Connectが提供するコントロールで、RESTでのア クセスなしで簡単にLive Connectへのサインインができ る ※アクセス先に応じたロゴに変更可能 ※SignInの文字も変更可能
  34. 34. Sign-Inボタンの使い方(1/5) プロジェクト A) アセンブリの参照を追加 • Microsoft.Live • Microsoft.Live.Controls
  35. 35. Sign-Inボタンの使い方(2/5) XAML A) 名前空間の宣言を追加 xmlns:live="clr- namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls"
  36. 36. Sign-Inボタンの使い方(3/5) XAML A) SignInButtonを追加する • ClientIdに取得したクライアントIDを記述 • Scopes属性に必要なScopeをカンマ区切りで記述 • RedirectUriは”https://oauth.live.com/desktop”と記述 • SessionChangedイベントハンドラを定義 ここでは、ViewModelのコマンド で受け取るため EventToCommandを使ってい る
  37. 37. Sign-Inボタンの使い方(4/5) ViewModel A) SessionChangedイベントを受けるハンドラを定義 ここでは、ViewModelのコマンドとして定義 保存したLiveConnectClientオブジェクトを 使ってアクセスする
  38. 38. Sign-Inボタンの使い方(5/5) ViewModel A) LiveConnectClientを使ってアクセスする Rxを使って GetCompletedイベント を処理する RESTのURI /meで自分のコンタクト情報を取得
  39. 39. Sign-Inボタンの問題 簡単に使えるSign-Inボタンですが… Sign-Inボタンを使ったWP7アプリが審査落ち • ロゴを隠すことで審査に通過したとのこと
  40. 40. SDKリファレンスには… SDKのリファレンスによると”none”を指定できると あるが、実際には利用不可
  41. 41. 対策 Sign-Inボタンの問題への対策案 A) Sign-ボタンのロゴを隠すように細工する B) REST APIでの認可を行う C) ボタンのロゴについて、ユーザ向け(アプリのAbout 画面など) 、テスター向け(申請時の指示欄)に説明 を記述する • この方法で審査に通るかは未検証。落ちるかも…
  42. 42. Sign-Inボタンを使わない方法 REST APIによる認可 • REST APIを使って自前で認可を処理する • ボタン以外のUIからの認可の実行もできる • 参考) 【WP for ITPro】Windows Phone アプリから Windows Live で認証するサンプル http://blogs.technet.com/b/junichia/archive/2011/11/08/3463795.aspx
  43. 43. REST APIでの認可(1/4) XAML • WebBrowserコントロールを配置 • Navigatedイベントをハンドルする
  44. 44. REST APIでの認可(2/4) ViewModel • Authボタンのコマンドで認可用URLに遷移
  45. 45. REST APIでの認可(3/4) View (コードビハインド) • ViewModelメッセージハンドラを登録しておく • ViewModelからViewへの操作用 • WebBrowserコントロールへのNavigateの指示を行う
  46. 46. REST APIでの認可(4/4) ViewModel • WebBrowserコントロールのNavigatedイベントをハ ンドルする 遷移先URLを利用して、 認可完了を判定 URLのパラメータから アクセストークンを取得する ※以降のアクセスで利用
  47. 47. HOTMAIL(カレンダー)へのアクセス
  48. 48. カレンダーイベントへのアクセス Scope Scope 選択基準 wl.calendars カレンダーとイベントの読み込みだけの場合 wl.calendars_update カレンダーとイベントの読み込み、および追加・更 新・削除の場合 wl.contacts_calendars カレンダーとイベントの読み込みだけの場合 他のユーザから共有されているものも対象となる wl.events_create カレンダーを作成する場合
  49. 49. カレンダーイベントへのアクセス URL GET • /CALENDAR_ID/events ⇒ カレンダーのイベント情報 • /me/events ⇒ ユーザのイベント情報 • /USER_ID/events ⇒ 指定したユーザのイベント情報 • /EVENT_ID ⇒ イベントそのものの情報 • POST • /me/events ⇒ イベントの作成 • DELETE • /EVENT_ID ⇒ イベントの削除
  50. 50. Eventオブジェクト Live Connect Preliminary Document より抜粋 Live Connect reference の”REST API”章
  51. 51. Eventオブジェクト (参考) Live Connect referenceの”REST API”章 { "data": [ { "id": "event.234a66f5917828a7.00e3268d4510499d8194f948a28d84ec.a120b08283eb4572bf09210989f81c59", "name": "Christmas Eve", "description": "", "calendar_id": "calendar.234a66f5917828a7.00e3268d4510499d8194f948a28d84ec", "from": { "name": null, "id": null }, "start_time": "2011-12-24T00:00:00-0800", "end_time": "2011-12-25T00:00:00-0800", "location": null, "is_all_day_event": true, "is_recurrent": true, "recurrence": "Occurs every year on day 24 of December.", "reminder_time": null, "availability": "free", "visibility": "public", "created_time": "2010-04-23T18:45:03+0000", "updated_time": "2010-04-23T18:45:03+0000" }, { "id": "event.234a66f5917828a7.00e3268d4510499d8194f948a28d84ec.b4ac08dcb61b46a987120f883e247c84", "name": "Christmas Day",
  52. 52. サンプル ユーザのイベント一覧の取得 結果がDictionary<string,object>のた め扱いにくい JSONの生の結果データをRawResult で取得できるので、方法があれば自前 でパースも?
  53. 53. サンプル イベントの作成 Dictionary<string,object> にデータを設定する PostAsyncでデータを POST
  54. 54. SKYDRIVEへのアクセス
  55. 55. SkyDriveへのアクセス Scope Scope 選択基準 wl.skydrive SkyDriveのドキュメント・写真の読み込みだけの場 合 wl.skydrive_update SkyDriveのドキュメント・写真の読み込み、および追 加・更新・削除の場合 wl.contacts_skydrive SkyDriveのドキュメント・写真の読み込み 他のユーザから共有されているものも対象となる
  56. 56. Fileオブジェクト Live Connect Preliminary Document より抜粋 Live Connect reference の”REST API”章
  57. 57. Folderオブジェクト Live Connect Preliminary Document より抜粋 Live Connect reference の”REST API”章
  58. 58. Folderオブジェクト (参考) Live Connect referenceの”REST API”章 { "data": [ { "id": "folder.56a63380c6d55c7e.56A63380C6D55C7E!213", "from": { "name": "Nobuaki Aoki", "id": "56a63380c6d55c7e" }, "name": "backup", "description": null, "parent_id": "folder.56a63380c6d55c7e", "upload_location": "https://beta.apis.live.net/v5.0/folder.56a63380c6d55c7e.56A63380C6D55C7E!213/files/", "count": 1, "link": "https://skydrive- df.live.com/redir.aspx?cidu003d56a63380c6d55c7eu0026pageu003dviewu0026residu003d56A63380C6D55C7E!2 13u0026paridu003d56A63380C6D55C7E!112", "type": "folder", "shared_with": { "access": "Just me" }, "created_time": "2010-09-25T14:14:13+0000", "updated_time": "2010-09-25T14:15:39+0000" }, { "id": "folder.56a63380c6d55c7e.56A63380C6D55C7E!113", "from": {
  59. 59. サンプル フォルダ一覧の取得
  60. 60. サンプル ファイルのアップロード 時間の都合でサンプルの実装が間に合いません でした…。ブログで紹介できればと思います。
  61. 61. まとめ クラウドとの連携に主眼を置いたWindows Phone ですが、そのWPアプリがクラウドと連携する上で十 分な機能が提供されていません。 Windows Liveとの連携については、2011年9月 に”Live Connect”がリリースされて容易に連携でき るようになりました。 その他のクラウドとの連携については、改めて紹介 できればと思います。
  62. 62. ご静聴ありがとうございました

×