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.9k
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
610
ぼくの考えた割と普通(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
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
300
Phase12_総括_自走化
overflowinc
0
1.3k
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
220
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
6
760
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1k
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
280
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
180
AI時代のIssue駆動開発のススメ
moongift
PRO
0
140
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
110
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.8k
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
110
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.1k
Featured
See All Featured
A better future with KSS
kneath
240
18k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
How to Talk to Developers About Accessibility
jct
2
160
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing for Performance
lara
611
70k
Code Review Best Practice
trishagee
74
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
120
Navigating Team Friction
lara
192
16k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Discover your Explorer Soul
emna__ayadi
2
1.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