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
9.3k
Calling PowerShell from CSharp
tanaka733
0
1.6k
Garbage Collection in .NET Framework
tanaka733
4
2.7k
New Features in Visual Studio 2013
tanaka733
0
1k
Starting Unity for Windows Store App
tanaka733
0
780
とあるインフラエンジニアのAzure活用
tanaka733
2
540
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
10k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.7k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Other Decks in Technology
See All in Technology
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
物価高なラスベガスでの過ごし方
zakky
0
380
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
170
Shift-from-React-to-Vue
calm1205
3
1.3k
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
530
Gradle: The Build System That Loves To Hate You
aurimas
2
150
プロダクトチームへのSystem Risk Records導入・運用事例の紹介/Introduction and Case Studies on Implementing and Operating System Risk Records for Product Teams
taddy_919
1
170
WINTICKETアプリで実現した高可用性と高速リリースを支えるエコシステム / winticket-eco-system
cyberagentdevelopers
PRO
1
190
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
330
Fargateを使った研修の話
takesection
0
120
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Docker and Python
trallard
40
3.1k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
It's Worth the Effort
3n
183
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Cult of Friendly URLs
andyhume
78
6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
What's new in Ruby 2.0
geeforr
342
31k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
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