LoginSignup
2
2

More than 5 years have passed since last update.

Windows8ストアアプリでGoogle APIライブラリを使用する

Posted at

ストアアプリでGoogle API

通常なら WebAuthenticationBroker.AuthenticateAsync とか使うんですが。
NuGetにもある、Google APIライブラリ群を使用するとアクセスがかなり楽になります。
その使い方のメモ。

文字だけでスクリーンショットとかは撮ってません。
UIがコロコロ変わるのでもう面倒くさいのですよ。

Googleの設定

Projectを作る

まずは、Google Developers Consoleに行き、プロジェクトを作成します。
使い方は、まあ、その。
フォースを信じよ。

APIを使用できるように設定する

プロジェクトを作成したら、そのプロジェクトを開き、左側のメニューの中から「APIと認証」の中の「API」を選んでAPIの一覧を出してください。
その中で必要なAPIの行の右端の「ステータス」の列のスイッチをオンにしてください。

クライアントIDを作成する

同じく「APIと認証」の中の「認証情報」を選び、OAuthの「新しいクライアントIDを作成」します。
すると、適当なClient IDとClient Secretが作成されます。
これでアプリから認証できるようになりました。
作られたClient IDの情報はJSONで使いますので「JSONをダウンロード」をクリックして情報をダウンロードしておきます。

気が向いたら同じく「APIと認証」の中の「同意画面」とかカスタマイズして遊びましょう。

ストアアプリの設定

ストアアプリのプロジェクトを作成する

Windows Storeアプリが作れる適当なVisual Studioを起動してプロジェクトを作成します。
この辺はもう、ご自由に。
そこそこカスタマイズして楽しんだら前の項でダウンロードしたJSONファイルをAssetsに追加します。
適当なファイル名に変更して追加してください。

プロパティで
ビルドアクション:コンテント
出力ディレクトリへコピー:新しい時
とか設定しておいてください。

Google APIライブラリを追加

プロジェクトの中からNuGetを起動し、検索入力窓に google と入力します。
Google API関連のライブラリがずらずら出てきますので、今回は試しにCalendar APIを使ってみましょう。
リストの中から、 Google.Apis.Calendar.v3 Client Library をインストールします。
ぞろぞろと依存関係で入ってきますが、まあ、よきに計らってくれます。
他にもAPIの種類ごとにライブラリがありますので、見てみてください。

認証とAPIの使用

後はコードで認証とAPIを使います。
ざっと以下のようになります。

var cred = await GoogleWebAuthorizationBroker.AuthorizeAsync(
    new Uri("ms-appx:///Assets/client_secret.json"),
    new string[] { CalendarService.Scope.Calendar },
    "user",
    CancellationToken.None);

var service = new CalendarService(new BaseClientService.Initializer()
{
    HttpClientInitializer = cred,
    ApplicationName = "Calendar Sample",
});

CalendarList cals = await service.CalendarList.List().ExecuteAsync();
foreach (CalendarListEntry cal in cals.Items)
{
    Debug.WriteLine("title:" + cal.Summary);
}
  1. GoogleWebAuthorizationBroker.AuthorizeAsync で認証
  2. CalendarService で認証とAPIを結び付け
  3. ExecuteAsync でAPI呼び出し

実に簡単。
あとはもう、credと各IDとライブラリ内の関数使って自由にデータを扱えばよろしい、と。
他のAPIもほとんど同じ流れで使えるはず。

気を付けるのは、2行目のUri。
Assetsに置いたファイルを見に行くようになりますので、間違えないようにして下さい。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2