Google の OAuth 2.0 を .NET Client で使用する際の jsonファイルの設定方法

「Google APIs Client Library for .NET : OAuth 2.0」で、認証方法が説明されている。その中で、APPIキーやSecretキーをjsonファイルの読み取りで対応する方法が説明されている。
その際に、jsonファイルのプロパティを設定してあげないと存在しないと言われてしまうので注意。
# サンプルのファイル名と、ダウンロードできるファイル名が微妙に違うので注意(複数形とかね

UserCredential credential;
            using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
            {
                credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    new[] { ReportsService.Scope.AdminReportsUsageReadonly },
                    "user", CancellationToken.None, new FileDataStore("usage"));
            }

「client_secret.json」ファイルのプロパティで、出力ディレクトリにコピーを「常にコピーする」に設定。

image

Vagrant 1.6 プレビュー機能:グローバルステータスとコントロール

Vagrant Blog:Feature Preview: Global Status and Control

新しいコマンド「global-status」が追加されます。

Vagrantコマンドは、Vagrantfileと同じディレクトリか、サブディレクトリでしか操作できませんでした。
Vagrant 1.6 では、Vagrantfileが存在しなくても、どのディレクトリからでもVagrant環境をグローバルにコントロールできます。

$ vagrant global-status
id       name    provider           state              directory
---------------------------------------------------------------------
4174bb6  web     virtualbox         stopped            c:/hashicorp/foo
72a2e4d  default vmware_workstation running            c:/hashicorp/bar
865a979  default virtualbox         suspended          c:/hashicorp/baz

「global-status」コマンドを実行すると、Vagrant環境で作成された環境が表示されます。

グロバールステータスは、マシン情報としてマシンのIDと名前、場所、状態を返します。

マシンIDを使用すると、どこからでもVagrantコマンド(destroy、up、suspend)を実行することができます。

$ vagrant ssh 72a2e4d
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64)
vagrant@vagrant:~$

Windows 8.1で、VirtualBoxとHyper-Vを簡単に切り替える方法

Hyper-VとVirtualBoxは同時に使用することができない。
Hyper-Vを使用してる状態でVirtualBoxを使用するには、機能の追加/削除でHyper-Vをオフにすることで使用できるようになる。

でも、それだと大がかりで面倒だよねー。だから管理者コマンドプロンプトで対応しちゃおう。ブートメニューに[No Hyper-V]を用意する。
最初のコマンドでGUIDを取得して、そのGUIDを使って2つ目のコマンドを実行する。

C:\>bcdedit /copy {current} /d "No Hyper-V"
The entry was successfully copied to {ff-23-113-824e-5c5144ea}.

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off
The operation completed successfully.

これ重要!
Windows 8.xでは、WindowsはFASTスタートアップに最適化されてる。
なんで起動が早すぎて、ブート選択がしにくい!
Shiftを押しつづけながら、再起動をクリックしよう。

image

そーすると、起動時に次のような画面がでてくるので、ほかのOSを選択する。で、No Hyper-Vを選択すればOK!

Windows 8.1 Boot Menu

Selecting No Hyper-V

 

元記事は、Switch easily between VirtualBox and Hyper-V with a BCDEdit boot Entry in Windows 8.1

Nugetがより快適になるNuget Package explorer

NuGetは、開発に必要な追加パッケージをひとまとめに管理し、容易に導入することができるVisual Studioの追加アドインです。パッケージの依存関係を管理しており、導入したいパッケージが、依存するパッケージを合わせてダウンロードし展開することができます。

想定ケース

NuGetを使用して、テストプロジェクトの初期設定をしようとしているとします。

私のお気に入りのパッケージはすべてNuGet上にあり、それらを数秒でインストールすることができます。
または、インストールしたいすべてのパッケージを依存関係に持つ専用のプロジェクトを作成しておくこともできます。

私の一般的なテストプロジェクトには、Nunit、Rhino mocks、Structuremap.automockingを参照させます。
それらを全て持っているオリジナルのパッケージを1つ用意します。

使用するツール

NuGet Package Explorer
http://nuget.codeplex.com/releases/59864/clickOnce/NuGetPackageExplorer.application

使用事前準備

NuGet Package Explorerでの操作

  1. NuGet Package Explorerをインストールし、起動させます。
  2. File –>Newを選択します。
    image
  3. Edit –>Edit Package Metadataを選択します。
    image
  4. 各項目に任意の値を入力します。
    ここでは、以下のような値を設定しています。
    ID:Testframework
    Title:Testframework
    Description:テストプロジェクトの設定。
    image
  5. 依存関係を設定します。スクロールバーを下に下げ、Dependenciesの項目を設定します。
    左側にある参照ボタンをクリックして、参照ウィンドウを開きます。
    image
  6. 右上の検索ボックスにパッケージ名を入力し、Enterを押してフィルタリングし、依存関係に追加したいパッケージを探します。
    image
    追加したいパッケージを選択して、OKボタンをクリックします。
    image
    すると、画面上に追加したパッケージが表示されます。
    後2つパッケージを追加しますので、+ボタンをアイコンをクリックして行を追加します。
    後は、上記手順を繰り返し必要なパッケージを追加します。
    image
  7. OKボタンをクリックし、編集モードを閉じます。
    image
    次のような表示になります。
    image
  8. File –>Saveをクリックし、ファイルを任意の場所に保存します。
    image

Visual Studioでの操作

  1. Visual Studioを起動します。
    あらかじめ、NuGetのインストールを完了しておきます。
    メニュバーのツール→Library Package Manager→Package Manager Settingsをクリックします。
    image
  2. オプションダイアログの左メニューからPackage Sourcesを選択します。
    image
  3. Sourceの右横の…ボタンをクリックし、先ほどNuGet Package Explorerでファイルを保存したディレクトリを選択します。Addボタンをクリックし、ディレクトリを追加します。
    image
  4. OKボタンをクリックしダイアログを閉じます。

使用して見る

以上で準備が完了したので、実際に使用してみます。

  1. 任意のプロジェクトを作成します。
  2. ソリューションエクスプローラーのプロジェクト上で、右クリックし、Add Library Package Referenceをクリックします。
    image
  3. 作成したパッケージを検索し、インストールします。
    image
    注意:外部参照のため、ソースは動作しません。
  4. プロジェクトで必要なすべての参照を追加しなければなりません。
    nuget9

参考

Less Than Dot – Blog – Nuget makes life so much easierを元にして、投稿したエントリーです。