今回作るシステム
今回作るシステムは、Slackに名刺画像をアップロードすると、GoogleのVision APIとNatural Language APIを使って名刺から情報を抽出し、kintoneに登録するというシステムです。全体像としては以下のようになります。
事前準備
今回のハンズオンは3つのサービスとプログラミング言語Pythonを組み合わせて行います。そのために以下の準備をお願いします。
- kintoneアカウントの取得
- Slackアカウントの取得
- Pythonインストール
- Google Cloud Platform(GCP)への登録とAPIキーの取得
kintoneアカウントの取得
アプリを作成するのにkintoneが必要です。アカウントを持っていなければ作成してください。
https://kintone.cybozu.com/jp/
Slackへ登録
今回はSlack上にBotを作成していきます。そのためSlackアカウントを持っていなかったら以下から作成してください。
https://slack.com/
チーム名などはよしなに設定してください。
Pythonのインストール
各種サービスを連携させるためにPythonによるプログラミングを行います。以下のリンクからPython3.5.2をダウンロード・インストールしてください。
https://www.python.org/downloads/
Google Cloud Platform(GCP)への登録とAPIキーの取得
今回、GCPのサービスであるVision APIとNatural Language APIを使用します。そのためにGCPへの登録とAPIキーの取得を行ってください。
GCPへの登録
まずは下記リンクからGCPへの登録を行ってください。
https://cloud.google.com/
登録の際クレジットカード番号の入力を求められることに注意してください。ただし、今回のVision APIとNatural Language APIはそれぞれ1000回と5000回使用までは無料ですので課金はされません。
APIキーの取得
プロジェクトを作成する
GCPにログインしたら、まずは左上にある「プロジェクトを作成」という部分をクリックして下さい。
新しいプロジェクトを作成するためのフォームが出てきます。ここで、好きなプロジェクト名を入力して「作成」のボタンをクリックして下さい。
Cloud Vision APIを有効にする
作成したプロジェクトにおいて、目的の「Cloud Vision API」を利用できるように、有効化する作業を行ないます。まずは、左上にあるメニューボタンをクリックしてその中の「API Manager」を選択して下さい。
「ライブラリ」を選択するとGoogleが提供するAPIの一覧画面に移動します。検索フォームで「vision」とキーワード検索して出てきたGoogle Cloud Vision APIを選択してください。
「Cloud Vision API」の画面に移動します。タイトルの横に、有効、無効を切り替えるためのボタンがあるので有効にして下さい。
プロジェクトを作成したばかりの場合、まだ認証方法を1つも設定していない状態のため、以下のように「認証情報に進む」というアラートが表示されると思います。その場合は「認証情報に進む」を選択してください。
「プロジェクトへの認証情報の追加」という画面が表示されます。「必要な認証情報の種類」には「Cloud Vision API」を選択し、「Google App EngineかGoogle Compute Engineを使用しますか?」という項目は「いいえ」を選択して、「必要な認証情報」のボタンをクリックして下さい。
「サービスアカウントの名前」と「キーのタイプ」、「役割」を選択して、「次へ」をクリックして下さい。サービスアカウントとは、「APIを利用するためのアカウント」で、「キー」とは、そのアカウントで認証をするための情報が含まれたファイルです。この記事では、APIキーによる認証で説明するため、サービスアカウントは利用しません。
APIキーを作成する
続いて、認証に利用するためのAPIキーを作成しましょう。「API Manager」の「認証情報」から「認証情報を作成」を選択してください。そうするとAPIキーと表示されているので、それを選択します。
そうすると作成が完了しますので、APIキーをメモしておいてください。メモしたら閉じて結構ですが、APIキーは絶対に他人に漏れないようにしておいてください。
Natural Language APIを有効にする
Cloud Vision APIと同様に有効にしてください。プロジェクトを作成する必要はありません。
記事まとめ
今回のハンズオンの内容は3つの記事にまとめています。