カテゴリー内の他の記事

承認されたらTwitter投稿 - 広報担当者必見のkintoneカスタマイズ -

フォローする

(著者:サイボウズ 竹内 能彦)

はじめに

皆さん、Twitter 使ってますか?私は最近始めました・・・v^^v

企業で Twitter を利用する場合は承認機能やツイート日時の指定機能が欲しいですよね。
今回は kintone とAWS Lambda を使って、kintone に登録された内容を Twitter に投稿するカスタマイズをご紹介します!

 

運用イメージ

  1. 社員が Twitter に投稿する内容、投稿したい日時を kintone に登録
  2. 上司が内容を確認して、承認/却下
  3. 承認済かつ投稿したい日時が過去のデータをツイート(画像付きツイート、公式引用ツイートが可能)

投稿日時の指定機能のために AWS Lambda を利用します。
また、Lambda 関数の作成に Node.js 環境が必要ですのでご注意ください。

大きな処理の流れは以下の通りです。

overall.png

※Twitter APIの利用には申請が必要です(2019/5現在)。詳細はTwitter社の公式情報をご確認ください。
 https://developer.twitter.com/en/apply-for-access.html

では早速準備に取り掛かりましょう。

1. kintone 設定

kintone アプリの作成

フィールド名

フィールドタイプ フィールドコード 備考
ツイート日時 日時 tweetDate 必須項目にする
 ツイート内容 文字列(複数行) tweetBody 必須項目にする
画像ファイル 添付ファイル imageFile  
ツイートURL リンク(Webサイトのアドレス) tweetUrl  ※ツイート後、ツイート個別のURLを自動セット

 

APIトークンの発行

「アプリの設定 > APIトークン」で、レコードの閲覧、レコード編集が可能なAPIトークンを発行します。
ツイート後にステータスを更新し、ツイートURLを登録するのでレコード編集権限が必要です。

 

プロセス管理

「アプリの設定 > プロセス管理」で、以下の通り設定します。
「ツイート待ち」ステータスでは作業者を設定しないでください。設定するとAPIトークンによるステータス更新ができません。(詳細はこちら

kintone1.png

 

2. Twitter 設定

Twitter アカウントの作成

下記URLから、Twitter アカウントを作成します。Twitter アカウントを取得済みの方はログインしてください。
https://twitter.com/

申請

Twitter APIの利用には申請が必要です(2019/5現在)。
Twitter APIの利用が初めての方は、下記URLから申請を行ってください。
※詳細はTwitter社の公式情報をご確認ください。
https://developer.twitter.com/en/apply-for-access.html

アプリケーションの登録

下記URLにアクセスして新しいアプリケーションを作成します。
https://apps.twitter.com/

「Name」、「Description」、「Website」には適当な値を入力します。(Websiteはhttp://example.com/で大丈夫です)

twitter1.png

 

「Keys and Access Tokens」タブに移動し、Consumer key、Consumer Secretをメモします。

twitter2.png

 

画面下部の「Create my access token」をクリックし、Access Token、Access Token Secretをメモします。

twitter3.png

 

3. Lambda 関数の実行ファイル作成

Node.js をインストールした環境での作業になります。

以下のサンプルコードをファイル名「index.js」で保存します。

9~11行目に kintone のドメイン、アプリID、API トークンを設定します。

15~18行目に Twitter のConsumer key、Consumer Secret、Access Token、Access Token Secretを設定します。

以下のコマンドを実行して、モジュールのインストール、ZIPファイル(Lambda 関数の実行ファイル)を作成します。
ZIPコマンドでエラーが発生した場合は、階層にファイル「index.js」とディレクトリ「node_modules」が存在するか確認してください。

 

4. AWS 設定

AWS アカウントの作成

下記URLを参考に AWS アカウントと管理者ユーザーを作成します。AWS アカウントを取得済みの方はログインしてください。
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/setting-up.html

 

実行ロールの作成

下記URLを参考に Lambda を実行するロールを作成します。
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example-create-iam-role.html

今回はロール名は「AWSLambdaExecute(例)」で作成しました。

lambda5.png

 

Lambda の設定

新規関数を作成します。
設計図はブランク関数を選択します。

lambda1.png

 

トリガーには CloudWatch を設定します。
「ルール名」、「ルールの説明」、「スケジュール式」には適当な値を入力します。

lambda2.png

 

「名前」は適当な値を設定します。
「ランタイム」はNode.js 6.10を選択します。
「関数パッケージ」には先ほど作成したkintone-to-twitter.zip(Lambda 関数の実行ファイル)をアップロードします。

lambda3.png

 

「ハンドラ」はindex.handlerを、「ロール」は先ほど作成したロールを設定します。
詳細設定の「タイムアウト」には30秒を設定します。

lambda4.png

 

実行

kintone にデータを登録して、プロセス管理のステータスを「ツイート待ち」まで進めましょう。

result1.png

 

ツイート日時経過後にLambdaが実行されたタイミングでツイートされました!

result3.png

 

kintone のデータを確認すると、ステータスが進み、ツイートURLに値がセットされています。

result2.png

 

終わりに

ばっちりツイートされましたね!これなら安心して Twitter 運用できそうです。
設定が少し大変ですが是非チャレンジしてみてください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。