2012年01月17日
川俣晶の縁側ソフトウェア技術雑記total 4181 count

SharpBoxでDropBoxのファイル一覧を得る

Written By: 川俣 晶連絡先

 自分では複数のオンライン・ストレージを使用していましたが、世間で大人気のDropBoxは使っていませんでした。しかし、避けては通れないので軽く使ってみました。とりあえず、ライブラリとしてはSharpBoxを使用して、そのアプリのフォルダのファイル一覧を得るだけ。

前提 §

  • .NET Framework 4.0のConsole Applicationプロジェクト
  • SharpBoxはプロジェクト作成後にNuGetでインストール
  • DropBoxサイトで開発者として登録してあり、アプリケーションも登録済み
  • リダイレクト先のURLはどこでも良いがトークンが付くので他人のサイトは避けた方が良さそう

サンプルソース §

using System;

using System.Collections.Generic;

using System.Diagnostics;

using System.Linq;

using System.Text;

using AppLimit.CloudComputing.SharpBox;

using AppLimit.CloudComputing.SharpBox.StorageProvider.DropBox;

namespace DropBox001

{

    class Program

    {

        private const string authorizationCallbackUri = "http://……/";

        private const string consumerKey = "……";

        private const string consumerSecret = "……";

        static void Main(string[] args)

        {

            CloudStorage dropBoxStorage = new CloudStorage();

            var dropBoxConfig =

                CloudStorage.GetCloudConfigurationEasy(

                    nSupportedCloudConfigurations.DropBox

                );

            DropBoxConfiguration config = dropBoxConfig as DropBoxConfiguration;

            config.AuthorizationCallBack = new Uri(authorizationCallbackUri);

            DropBoxRequestToken requestToken =

                DropBoxStorageProviderTools.GetDropBoxRequestToken(

                    config, consumerKey, consumerSecret

                );

            String AuthorizationUrl =

                DropBoxStorageProviderTools.GetDropBoxAuthorizationUrl(

                    config, requestToken

                );

            Process.Start(AuthorizationUrl);

            Console.WriteLine("認証が終わったらEnterを押して下さい:");

            Console.ReadLine();

            ICloudStorageAccessToken accessToken =

                DropBoxStorageProviderTools.ExchangeDropBoxRequestTokenIntoAccessToken(

                    config, consumerKey, consumerSecret, requestToken

                );

            ICloudStorageAccessToken storageToken = dropBoxStorage.Open(

                dropBoxConfig, accessToken

            );

            var ent = dropBoxStorage.GetRoot();

            foreach (var item in ent)

            {

                Console.WriteLine("{0},{1},{2}", item.Name, item.Modified, item.Length);

            }

            dropBoxStorage.Close();

        }

    }

}

感想 §

 たかがこの程度のサンプルソースを書くのに手間掛かり過ぎ。なぜ手間が掛かるのかといえば、ドキュメントの圧倒的不足と矛盾。ドキュメントが無いのも説明不足も当たり前なら、旧版の内容と一部混同して矛盾するし(どこにも定義されていない変数を参照するサンプルまであった!)

 ちなみに、このサンプルソースもたぶん実行しようと思うと思ったとき、ほとんど一瞬で動かせる人と数時間(下手をすると数日)かかる人が出るのでしょう。

 これだけじゃ動かないよ、もっと詳しく説明して欲しいよ、という人はどこかの開発系編集部に「川俣さんの解説記事が読みたい」とリクエストしよう。

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2012年
01月
19日
新しいGoogle検索結果表示は最悪、検索エンジンはBingに乗り換えるべき……のウワサ
3days 0 count
total 3864 count
【技術雑記】の前のコンテンツ
2012年
01月
16日
SkyDriveのファイルをWindows 7のExplorerで見る方法
3days 0 count
total 3521 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20120117190637
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.