Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Live SDK で SkyDrive連携アプリを作ろう
Search
tanaka_733
March 30, 2013
Technology
0
1.1k
Live SDK で SkyDrive連携アプリを作ろう
2013/3/30 めとべや東京でのセッション
tanaka_733
March 30, 2013
Tweet
Share
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
11k
Calling PowerShell from CSharp
tanaka733
0
1.8k
Garbage Collection in .NET Framework
tanaka733
4
2.9k
New Features in Visual Studio 2013
tanaka733
0
1.1k
Starting Unity for Windows Store App
tanaka733
0
850
とあるインフラエンジニアのAzure活用
tanaka733
2
600
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.8k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Other Decks in Technology
See All in Technology
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
0
230
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
260
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.2k
Amazon ElastiCacheのコスト最適化を考える/Elasticache Cost Optimization
quiver
0
350
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
220
GCASアップデート(202510-202601)
techniczna
0
230
Digitization部 紹介資料
sansan33
PRO
1
6.7k
いよいよ仕事を奪われそうな波が来たぜ
kazzpapa3
3
320
Regional_NAT_Gatewayについて_basicとの違い_試した内容スケールアウト_インについて_IPv6_dual_networkでの使い分けなど.pdf
cloudevcode
1
210
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Optimizing for Happiness
mojombo
379
71k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
A Soul's Torment
seathinner
5
2.2k
So, you think you're a good person
axbom
PRO
2
1.9k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
310
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
4 Signs Your Business is Dying
shpigford
187
22k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Thoughts on Productivity
jonyablonski
74
5k
Documentation Writing (for coders)
carmenintech
77
5.2k
Transcript
Live SDK で SkyDrive連携アプリを 作ろう @tanaka_733 Room metro #15 東京
3/30 (Sat)
Agenda はじめに SkyDriveとは Live Connect SDK とは SkyDrvie SDK をストアアプリで使ってみよう
自己紹介 (@tanaka_733) めとべや東京のスタッフです 趣味の開発でC# • Windows ストアアプリ • Windows Phone
アプリ • Kinect ストアアプリは数本リリース • はてな動画(仮) • SkyRecorder <= 開発中、今回のテーマ
めとべや東京はCOD2013 に出ます COD2013とは… • 全国のコミュニティが集まって各地で勉強会を開きます • http://cod.ms/Pages/default.aspx めとべや東京は… • 東京会場にて、私が話します!
• テーマは ストアアプリのプッシュ通知 • 先日話したセッションから、サーバーサイドを掘り下げます
セッションの目的 SkyDrive を APIから操作してみる ストアアプリで SkyDrive連携をやってみる
Agenda はじめに SkyDriveとは Live Connect SDK とは SkyDrvie SDK をストアアプリで使ってみよう
SkyDrive とは Microsoftのオンラインストレージ Windows8 から標準対応(通常のファイルシステムと同じ感覚) 現在は7GBまで、以前から利用している場合は25GBのことも • 有償オプションで追加可能 (¥800/年・20 GB
から)
SkyDrive を使えるデバイス デスクトップ/ネイティブアプリ •Windows Vista, Windows 7, Max OS X
•Windows Phone, iOS(iPhone iPad), Android その他、Webページ経由
他クラウドストレージ ストレージ • iCloud • Google Drive • Dropbox (最近話題の)ノート系
• Evernote • Google Keep http://windows.microsoft.com/ja-jp/skydrive/compare
Agenda はじめに SkyDriveとは Live Connect SDK とは SkyDrvie SDK をストアアプリで使ってみよう
Live Connect SDK • ドキュメントとメディアの操作 SkyDrive • 連絡先とカレンダーの操作 Hotmail •
インスタントメッセージ Messenger • ユーザーの認証とプロファイル情報へのアクセス Live
SkyDrive API 使用上の制約 ユーザーが明示的に要求したとき以外はSkyDrive にファイルをアップロードしない • 自動バックアップの保存先としては使えない SkyDrive が適した状況では SkyDrive
を使う。 • ドキュメントや写真の管理はSkyDriveで SkyDrive に対する信頼を損なわないようにする • いかがわしいファイルを置いたりしない http://msdn.microsoft.com/ja-jp/library/live/hh826521.aspx
Live Connect SDKの特徴 •どの情報にアクセスできるか、作成できるかを「スコープ」と呼ばれる概念でサポート •いわゆる認証・認可の認可 スコープとアクセス許可 •APIはいわゆるREST形式 •SDKで使う場合はパスを指定(後でサンプルにて) RESTアクセス •認証はマイクロソフトアカウントを使用
•Windowsストアアプリでは、Windows8 のサインイン機能を使用 シングルサインオン •認証はOauth 2.0形式 •SDKを使う場合、ほぼ意識しない OAuth 2.0
API使いたい、でもいきなりはめんどそう… photo credit: Tambako the Jaguar via photopin cc
Interactive Live SDK http://isdk.dev.live.com/ISDK.aspx
Agenda はじめに SkyDriveとは Live Connect SDK とは SkyDrvie SDK をストアアプリで使ってみよう
準備:SDKのインストール http://msdn.microsoft.com/ja-JP/live/ff621310
準備:プロジェクトへの参照の追加
準備:アプリの登録と関連付け Live SDKを使う場合、ダッシュボードからアプリの名前を登録し、 プロジェクトで関連付けておく必要があります。 ※ 開発者アカウントが必要です
シナリオ①: ログイン 明示的にログインボタンを作成 • Guideline に従う必要あり • http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/Hh968445(v=win.10).aspx 自動でログイン •
ログインしないとアプリの機能が実現できないような場合、 • 起動直後にログイン画面に移行 いずれの場合も、ログイン画面はSDKにより提供されます アカウントはSSOのみの模様(別ユーザーを選択できない) UI経由のユーザーの同意が必要なので自動テスト不可…
シナリオ①: ログイン 今回載せているコードはこちらにあります https://gist.github.com/tanaka-takayoshi/5272456
シナリオ②: ユーザー情報の取得
返り値が Dictionary … 実装が、Dynamic サポートしている型になっている
Dynamic で dynamic に解決…? メリット: DictionaryのKeyによるアクセスをプロパティ的に記述できる デメリット: LINQなどラムダ式を使ったメソッドを呼び出せない =>(発表後注): IEnumerable<dynamic>
もしくは LINQでCast<dynamic> すればよい。gistのコードは更新済みです
アルバムディレクトリを取得して、 サムネイル付きで表示する
アルバムディレクトリを取得して、 サムネイル付きで表示する
アルバムディレクトリを取得して、 サムネイル付きで表示する
ストレージクォータを取得する
ファイルをアップロードする
まとめ ストアアプリからSkyDriveはSDKでお手軽にアクセスできる (SDKでは)サインインはSSOのみ 返り値が IDictionary<string, object> なので、 Interactive Live SDK
でJSONの構造を確認しながらコーディング
おまけ: Metro Icons Maker Store App, WP8, WP7 対応のアイコンを作成できるツールです。 •
Windows Phone Icons Maker からフォークさせていただきました。 プロジェクトページはこちら • http://techblog.hilife-jp.info/metro-icons-maker/ アルファ版です • 正式版を WPF4.5+Livet で作成中… (と言って早2か月) • MS-PLなOSSです: https://github.com/tanaka-takayoshi/Metro-Icons-Maker
おまけ: Metro Icons Maker