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

PG.Lib

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

ストアアプリで、文字列を OneDrive へ保存する

WinRT(Win8)

やりたかったのは、クラスデータをJSONシリアライズして、文字列をOneDriveへ保存しておきたかった。

JSONへのシリアライズは、JSON.NETが超使える。

OneDriveへの保存は、保存されてるファイルをアップロードってのはサンプルあったけど、保存してないデータってのはなかったので、ちょっと苦労した。できちゃえば割とあっさりだったけどw

ログインとかは前の記事を参考に。

◆アップロード

    private const string PATH = "/me/skydrive";

    public static async Task<bool> Save(string strName, string strData)
    {
        if (liveClient == null)
        {
            return false;
        }

        try
        {
            using (var inStream = new MemoryStream(Encoding.UTF8.GetBytes(strData)))
            {

                LiveUploadOperation operation = await liveClient.CreateBackgroundUploadAsync(
                    PATH, strName, inStream.AsInputStream(), OverwriteOption.Overwrite);

                LiveOperationResult result = await operation.StartAsync();

                if (result != null)
                {
                    //成功!
                }
                else
                {
                    //しっぱい・・・
                }
            }
        }
        catch (Exception exp)
        {
            //エラー処理
        }
        return true;
    }

Stream を IInputStream にするのが、よくわからんかったけど、Stream.AsInputStream() するだけだったw

Streamなんで、画像とかでも多分同じ。(と思う)