【つないでみた】Google Driveにつないでファイルをアップロードしてみた

【つないでみた】Google Driveにつないでファイルをアップロードしてみた

6月25日にGoogle I/Oで発表された「Google Drive for Work」。
1ユーザー月額10ドルで容量無制限らしいですね。
インフォテリアのプリセールスエンジニアに聞いてみると、時々お客様からGoogle Driveを使っているという話もあるとか。
Google Driveキテるのかも!?

そんなわけで、今回の「つないでみた」は「Google Drive」です。

ASTERIA WarpでGoogle Driveにつなぐシーンはいろいろ考えられますが、Excelなどのファイルを自動生成して社員に共有する場面が多いのではないでしょうか?
例えば、週次の売上情報を自動生成してコメント欄は各部門で記載するなどの使い方や、逆に外出している社員からの報告を社外からもアクセスできるGoogle Driveで集めるなど、外から使える共有フォルダとして様々な場面が考えられます。

まずは簡単なところで、RESTでつないでExcelをアップロードしてみようと思います。

RESTでつなぐためにはGoogle Drive側で許可する設定が必要です。
Developer Consoleのページに行って、プロジェクトを作成します。(Googleのアカウントが必要です)

新しいプロジェクト

適当な名前でプロジェクトの作成ができたら、「APIと認証」 から「API」の設定をまず行います。
「Drive API」というのがGoogle Driveを扱うためのAPIですので、コレを「有効」にしましょう。

API設定

続いて、「認証情報」です。
GoogleはOAuthという認証方式です。最近増えてますよね。
アクセスする側からするとメンドクサイのですが、まぁ致し方なしです。
「新しいクライアントIDを作成」で新しいアクセス情報を取得します。
欲しい情報は「クライアントID」「クライアントシークレット」「リダイレクトURI」の3つです。
この3つが取得できればアプリケーションの種類はどれでもいいはずですが、今回は「インストールされているアプリケーション」の「その他」を選びました。

新しいクライアントID

ここまでで無事欲しい3つの情報、「クライアントID」「クライアントシークレット」「リダイレクトURI」が取得できたと思いますので、これから「アプリケーションコード」を取得します。
ブラウザで以下のようなアドレスにアクセスします。

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/drive&redirect_uri=<取得したリダイレクトURI>&response_type=code&client_id=<クライアントID>

するとブラウザにコードが表示されますので、コピーします。
ここまでで、ASTERIA Warpからアクセスするための4つの情報「クライアントID」「クライアントシークレット」「リダイレクトURI」「アプリケーションコード」が揃いました。

前置きが長かったですが、今回作成したフローです。

GoogleDriveフロー

認証でここまでで取得した4つの情報からAPIのアクセスに必要なトークンを取得します。
トークンは一定時間で切れてしまうため、切れていた場合は再取得するよう、分岐を入れました。
認証さえ通ってしまえば、ヘッダにトークンをつけてファイルをエンコードして送るだけでアップロードできます。

UPLOAD完了

今回はファイルをアップロードする「だけ」のフローを作ってみました。
このAPI、ほんとに「だけ」なので、アップロード先のファイル名さえ指定できません。
出来上がったファイルは、「Untitled」というファイル名になりました。
ファイルの名前のほか「メタ情報」を付随するにはJSONを一緒に送る必要があります。
設定の情報だけで話が長くなってしまったので、これは次回以降で。



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
Google Workspaceとの連携を試そう

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:森 一弥

著者:
森 一弥

ASTERIA Warpシリーズ担当のシニアプロダクトマネージャー。ホワイトペーパーの執筆のほか、開発経験を活かしたASTERIA Warpを使ったデモ作成等を実施。

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ