今作ってるアプリで、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参照じゃなくて、プロジェクト参照だったんだよね。
このまま使うのは気持ち悪いなぁ。どーすりゃいいんだコレ。