こんにちは、スタートアップテクノロジー開発部のてつです。
みなさまTwitterアカウントはお持ちでしょうか。
いまや法人アカウントでの広告や個人のブランディングにも活用されることが当たり前のTwitterですが、私は今も昔も変わらず、誰の何の役にもたたないことばかりをつぶやいています。
心底本当に何の価値もない文章なので、せめて人を不快にさせるようなネガティブな発言をしないように気をつけています。
そこで、今回はつぶやいたツイートがネガティブな発言でないかを確認できるAPIを作成しました。
Amazon ComprehendとAWS Lambdaを使えばゼロから用意しなくてもTweetの感情分析ができるバックエンド環境が構築できるので、この構成でアプリケーションを作成し、人を不快にしないTwitter生活に役立てていきます。
今回作成するアプリケーション
今回は、TwitterIDを入力すればそのIDの最近のツイートとそのツイートの感情分析結果が表示されるアプリケーションを作成します。

前提条件
以下の項目についてはすでに完了している想定です。
- GitHubアカウント取得
- AWSアカウント取得
- TwitterDeveloperアカウント取得
構成
今回作成するアプリケーションは以下の構成で作成します。
- AWS Amplifyで生成されたエンドポイントにアクセスする。
- AmplifyのエンドポイントS3に保存されたフロントエンド環境をHTTPで返す
- 取得したフロントエンド環境からAmazonAPIGatewayのエンドポイントにアクセスする。
- Amazon API GatewayはLambda関数に処理を渡す
- Lambda関数はTwitterAPIにアクセスし任意のIDの最近のツイート情報を取得する
- Lambda関数はTwitterAPIから取得したツイート情報をAmazon Comprehendで感情分析処理を行った結果を返す

TwitterのProject&Apps設定
Developer PortalでTweet取得に必要なAPIキーを生成します。
プロジェクトの新規作成
Project&Apps > Overviewで`Create App`をクリックし、新しいプロジェクトの作成を開始します。

任意のアプリケーション名を入力してNext
をクリックします

API Keyの取得
プロジェクトの新規作成後、API KeyとAPI Key Secretが表示されます。ここでのみ表示される値なので、必ずここでメモを取っておきます。Bearer Token
は今回使用しませんが念の為メモしておきましょう。API KeyとAPI Key Secretを控えたらApp Settings
をクリックして先へ進めます。
以下、このページで表示されるAPI Keyを次のように記載します。
API Key:<ACCESS_TOKEN>
API Key Secret:<ACCESS_TOKEN_SECRET>

Consumer Keyの取得
Project&Apps > 設定したApp名のページに遷移するので、Keys and tokens
タブをクリックし、タブ内のConsumer Keys
のRegenerate
をクリックします。

Consumer Keysを上書きしてよいかの確認ダイアログが表示されるので、Yes, regenerate
をクリックします。

Consumer Keyが表示されるのでこちらの値もメモをとっておきます。
以下、このページで表示されるConsumer Keyを次のように記載します。
API Key:<CONSUMER_KEY>
API Secret Key:<CONSUMER_SECRET>
Consumer KeyをメモしたらYes, I saved them
をクリックします。

以上でTwitter側の設定は完了です。
さいごに
今回はTwitterAPIの設定まで完了しました。
次回は、バックエンド側の設定を詳しくみていきます。
本サイトには、同じくAWS Lambdaを使用して自然言語解析APIを作成したイベントのレポートもあるので、興味のある方はご覧ください。
また、国内2人目のサーバーレスヒーローである弊社エンジニア松井のインタビューもあります。ぜひ合わせてご覧いただきたい内容です!