The Round

合同会社ナイツオの開発ブログ

[PR] 5分から相談できるGCP™ 開発コンサル!→こちら

Node.jsからGoogle Spreadsheetデータを取得する - その1

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m

マツウラです。

 

Google ではAPIを使うことで、Googleアカウントが持つデータにアクセスすることができます。

今回は、Node.jsからAPIを使ってこのデータを取得する方法について書いてゆきます。

Googleにアプリを登録する

まずAPIを使用するためにアプリの登録をします。

 

Google Developers Consoleへアクセス。

Google App Engineなどの開発経験があると、既存のプロジェクト名が表示されているかもしれませんが、今回は関係ありませんので弄くらないで下さい。

 

今回作るアプリのために、新しくプロジェクトを作成します。

 

Create Projectボタンをクリックすると、プロジェクト名とIDの入力が求められます。IDは後から変更できないので気をつけて。

 

f:id:knightso:20140210082829p:plain

 

次にプロジェクト固有ページに移動します。

 

メニューから

  • 「APIs & auth」
  • 「APIs」

の順にクリックします。

ここで使用したいAPIをONにすることで、アプリで利用可能になります。

 

f:id:knightso:20140210082858p:plain

 

OAuthに必要な値を設定する

次にアプリの認証や許可、APIの呼び出しなど様々な場面で必要になるOAuthについてです。

OAuthを使用するため必要になる情報を確認します。

メニューから

  • 「APIs & auth」
  • 「Credentials」

の順にクリックするとOAuthPublic API accessといったコンテンツが表示されます。

 

f:id:knightso:20140210082923p:plain

 

ここでクライアントIDを作成します。

 

OAuthコンテンツにあるCREATE NEW CLIENT IDボタンをクリックします。アプリのタイプ、及びインストールされるアプリの種類について質問されます。

  • 「Installed Application」を選択。

またPC上で実行することから、

  • 「Other」を選択してクライアントIDを作成します。

 

f:id:knightso:20140210082943p:plain

 

作成すると、OAuthコンテンツにClient ID for native Applicationの表示が増えます。

 

ここに表示されるClient ID, Client Secret, Redirect URIsの3つの値はOAuthに必要なものです。またRedirect URIsには2つの値があり、アプリにauthorization codeをどのように返すのか?その方法を決定します。

 

f:id:knightso:20140210083005p:plain

 

http://localhostを指定すると、クライアント上のWebサーバーにクエリ文字列パラメータとしてcodeが返ってきます。ポート番号はファイヤウォールに禁止されていなければアプリ側で自由に付けて構いません。

 

urn:ietf:wg:oauth:2.0:oobを指定すると、ブラウザのタイトルバーにcodeが返ってきます。クライアント構成無しでHTTPポートをリッスンできない場合に使います。

 

今回はお手軽なので後者を使います。

 

これでアプリの登録作業は終わりです。

次はユーザーにアプリの承認をしてもらうプロセスについて書いてゆきます。