承認されたらX(旧Twitter)投稿 - 広報担当者必見のkintoneカスタマイズ -
はじめに
皆さん、X(旧Twitter)を使っていますか?
企業でXを利用する場合は承認機能やポスト日時の指定機能が欲しいですよね。
今回はkintoneとAWS Lambdaを使って、kintoneに登録された内容をXへ投稿するカスタマイズを紹介します!
運用イメージ
- 社員がXに投稿する内容、投稿したい日時をkintoneに登録
- 上司が内容を確認して、承認/却下
- 承認済かつ投稿したい日時が過去のデータをポスト(画像付きポスト、公式引用ポストが可能)
投稿日時の指定機能のためにAWS Lambdaを利用します。
また、Lambda関数の作成にNode.js環境が必要ですのでご注意ください。
大きな処理の流れは以下のとおりです。
Twitter APIの利用には申請が必要です(2025/5現在)。詳細は
X社の公式情報
を確認してください。
ではさっそく準備に取り掛かりましょう。
kintoneの設定
kintoneアプリの作成
フィールド名 | フィールドタイプ | フィールドコード | 備考 |
---|---|---|---|
ポスト日時 | 日時 | postDate | 必須項目にする |
ポスト内容 | 文字列(複数行) | postBody | 必須項目にする |
画像ファイル | 添付ファイル | imageFile | |
ポストURL | リンク(Webサイトのアドレス) | postUrl | ポスト後、ポスト個別のURLを自動セット |
APIトークンの発行
「アプリの設定 > APIトークン」で、レコードの閲覧、レコード編集が可能なAPIトークンを発行します。
ポスト後にステータスを更新し、ポストURLを登録するのでレコード編集権限が必要です。
プロセス管理
「アプリの設定 > プロセス管理」で、以下のとおり設定します。
「ポスト待ち」ステータスでは作業者を設定しないでください。
設定するとAPIトークンによるステータス更新ができません。(詳細は
1件のレコードのステータスを更新する
を確認してください)
Xの設定
Xアカウントの作成
下記URLから、Xアカウントを作成します。
Xアカウントを取得済みの方はログインしてください。
https://x.com/
申請
Twitter APIの利用には申請が必要です(2025/5現在)。
Twitter APIの利用が初めての方は、下記URLから申請してください。
詳細はX社の公式情報を確認してください。
https://developer.x.com/ja/docs/x-api
アプリケーションの登録
次のURLにアクセスして、下記手順を参考に新しいアプリケーションを作成します。
https://developer.x.com/en/portal/dashboard
- 左サイドメニューから「Project & Apps」の「Overview」を選択します。
- 「Standalone Apps」の「Create App」からアプリを作成します。
- アプリ名を入力し「Complete」をクリックすると、画面に「API key」「API secret key」「Bearer token」が表示されます。
「API key」と「API secret key」は実装に必要となるので、手元にコピーしておいてください。 - 「App Settings」をクリックすると設定画面に遷移します。
- 画面上部の「Key and tokens」を開き、「Access token & secret」の横にある「Generate」ボタンを押します。
生成された「Access token」と「Access token secret」をメモします。
この情報は一度しか表示されないので、忘れた場合は再生成が必要になります。 - 画面上部の「Settings」を開き、「User authentication settings」にある「Edit」ボタンを押します。
- 「App permissions」で、「Read and write」を選択します。
- 「Type of App」で、「Web App, Automated App or Bot」を選択します。
- 「App info」で、任意の情報を入力します。 画面下部の「Save」を押します。
Lambda関数の実行ファイル作成
Node.jsをインストールした環境での作業になります。
以下のサンプルコードを参考に、ファイル名「index.js」で保存します。
|
|
以下のコマンドを実行して、モジュールのインストール、ZIPファイル(Lambda関数の実行ファイル)を作成します。
ZIPコマンドでエラーが発生した場合は、階層にファイル「index.js」とディレクトリ「node_modules」が存在するか確認してください。
|
|
AWSの設定
AWSアカウントの作成
次のURLを参考にAWSアカウントと管理者ユーザーを作成します。
AWSアカウントを取得済みの方はログインしてください。
https://aws.amazon.com/jp/register-flow/
実行ロールの作成
次のURLを参考にLambdaを実行するロールを作成します。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.html
今回のロール名は「AWSLambdaExecute(例)」で作成しました。
Lambdaの設定
以下の例を参考に、新規関数を作成します。
設計図はブランク関数を選択します。
-
「関数名」は適当な値を設定します。
-
「ランタイム」はNode.js 22.xを選択します。
-
「デフォルトの実行ロールの変更」から「既存のロールを使用する」を選択し、先ほど作成したロールを設定します。
-
関数を作成したら、「トリガーの追加」をクリックします。
-
ドロップダウンから、トリガーとして「EventBridge(CloudWatch Events)」を選択します。
EventBridgeの使用は、イベントの数に基づいて課金されるので注意してください。
詳細については、 AmazonEventBridgeの料金ページを参照してください。
-
「ルール名」、「ルールの説明」、「スケジュール式」には適当な値を入力します。
-
関数の設定に戻り、「kintone-to-X」をクリックして、関数コードから「アクション」を開きます。
-
「.zipファイルをアップロード」から、先ほど作成したkintone-to-X.zipをアップロードします。
-
「ランタイム設定」で「ハンドラー」にindex.handlerが選択されていない場合は、編集ボタンを押して選択します。
-
「基本設定」の「編集」ボタンを押し、「タイムアウト」と「実行ロール」を編集します。
-
「タイムアウト」には30秒を設定します。
-
「実行ロール」は「既存のロールを使用する」を選択し、「既存のロール」のドロップダウンから先ほど作成したロールを設定します。
-
最後に、環境変数を追加します。
-
環境変数の設定はindex.jsの 環境変数の設定 の部分を参考に、「process.env.」に続く大文字部分を「キー」に入れ、それぞれ対応する値を設定します。
環境変数の設定
|
|
動作確認
kintoneにデータを登録して、プロセス管理のステータスを「ポスト待ち」まで進めましょう。
ポスト日時経過後にLambdaが実行されたタイミングでポストされました!
kintoneのデータを確認すると、ステータスが進み、ポストURLに値がセットされています。
おわりに
ばっちりポストされましたね!
これなら安心してX運用できそうです。
設定が少したいへんですがぜひチャレンジしてみてください。
このTipsは、2025年5月版kintoneで動作を確認しています。