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
8.8k
Calling PowerShell from CSharp
tanaka733
0
1.4k
Garbage Collection in .NET Framework
tanaka733
4
2.6k
New Features in Visual Studio 2013
tanaka733
0
940
Starting Unity for Windows Store App
tanaka733
0
730
とあるインフラエンジニアのAzure活用
tanaka733
2
520
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
10k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.6k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Other Decks in Technology
See All in Technology
【SORACOM UG】SIM Deep Dive セキュアエレメント編
soracom
PRO
0
230
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.2k
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
0
190
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
280
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
1.8k
次世代Web認証「パスキー」 / mo-zatsudan-passkey
nkzn
22
13k
Algyan イベント振り返り
linyixian
0
180
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
強みを伸ばすキャリアデザイン
yug1224
0
200
AWS パートナー企業でテクニカルサポートに従事して2年経ったので思うところをまとめてみた
kazzpapa3
3
1.3k
Oracle Exadata Database Service on Cloud@Customer (ExaDB-C@C) - UI スクリーン・キャプチャ集
oracle4engineer
PRO
1
1.1k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
13
35k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Scaling GitHub
holman
457
140k
KATA
mclloyd
14
12k
The Cost Of JavaScript in 2023
addyosmani
13
3.8k
Side Projects
sachag
451
41k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
320
20k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
Become a Pro
speakerdeck
PRO
9
4.5k
Done Done
chrislema
178
15k
Building Adaptive Systems
keathley
29
1.8k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
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