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

フォローする

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

はじめに

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

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

 

運用イメージ

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

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

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

overall.png

 

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

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 を利用するために必要な作業になります。
下記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 コミュニティをご活用ください。

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