読者です 読者をやめる 読者になる 読者になる

PG.Lib

主にUWP、C#に関することやガジェット系

Live SDK を使ってOneDriveへ書き込みたい

WinRT(Phone) WinRT(Win8)

今作ってるアプリで、OneDrive上へファイル書き出しをしたいと思ってる。

どうやらLive SDKを使えばいいようだが、イマイチうまくいかないので現状レベルでメモ。

◆参考にしたもの

Windows Phoneの方は、専用コントロールがあるのでそちらを使えばいいっぽい。ストアアプリは自前で用意するみたい。

とりあえず、ここ↓のサンプルを参考にしてみた。

https://github.com/liveservices/LiveSDK-for-Windows

まずダウンロードして、適当なストアアプリのサンプルを実行すると、OneDriveへの書き込みは問題なく動作する。

 

◆初期化でエラー

が、初期化時点でうまくいかず。

ソースコードはサンプルのをベースにしたが、Live SDKはNugetから取得したものを使用。記事を書いてる時点では5.6。

 

この原因はデベロッパーセンターでの登録をしてなかったため。

まず、アプリをストアへ名前だけ予約をして、↓のURLでモバイルアプリを有効にする。

https://account.live.com/developers/applications

これで初期化はうまくいった。

 

◆ログインでもエラー

しかし、ログイン処理のところでやはりうまくいかず。

具体的には、

LiveLoginResult loginResult = await this.authClient.LoginAsync(scopes);

が落ちる。インスタンス化されてないよ。とかエラーが。

初期化でも同じようなところでのエラーだったが、原因が違うのかうまくいかん。

 

物は試しで、サンプルのソース(DLLの元プロジェクト)をソリューションに組み込んで、プロジェクト参照したらうまくいった。

サンプルがDLL参照じゃなくて、プロジェクト参照だったんだよね。

このまま使うのは気持ち悪いなぁ。どーすりゃいいんだコレ。