GoogleAppsScriptでLINEBOTをつくってるけど、特定の条件でTwitterに自動投稿する機能を作りたかった。
参考:https://tech-cci.io/archives/4228
https://developer.twitter.com/
アクセス
Create an appボタン
開発者アカウントを申請してってメッセージがでるのでApply
開発者ツールを使用する目的を聞かれるので選択する
電話番号認証が必要だった。
質問に対して英語で書いていかないといけない(めんどくさ)
TwitterデータやAPIをどのように使用するかを説明してください。(200文字以上で)
ツイートのみを使用します。情報収集などは行いません。GoogleAppsScriptを使用し、私がGoogleAppsScriptのトリガー更新を数日忘れた場合に1度ツイートを行うように設定します。
Twitterデータを分析する予定ですか?
いいえ
アプリはツイート、リツイート、いいね、フォロー、ダイレクトメッセージ機能を使用しますか?
はい
ツイートのみを使用します。
自分が数日間GoogleAppsScriptのトリガーを更新しなかった場合に更新忘れのツイートを行います。
ツイッターを表示したり、ツイッター以外のツイッターのコンテンツに関するデータを集計したりする予定はありますか?
いいえ
あなたの製品、サービス、または分析は、Twitterのコンテンツまたは派生情報を政府機関が利用できるようにしますか?
いいえ
確認画面が表示され、同意して申請する。
申し込み完了確認メールが届いているので確認する。
開発者アカウント作成が完了
名前のところからアプリを選択
アプリを作成
アプリが作成できるようになる。
WEBサイトURLはアプリ認証する画面で表示されるだけなのでとりあえずTwitterのURLでもOK
Twitterでのサインインを有効にする:しない
(おそらくログインサービスで使用するもの)
コールバックURL:なし
利用規約のURL:なし
プライバシーポリシーのURL:なし
組織名:なし
組織のウェブサイトURL:なし
このアプリの使用方法を教えてください(100文字以上):
GoogleAppsScriptを使用し、私がGoogleAppsScriptのトリガー更新を数日忘れた場合に1度ツイートを行うように設定します。
開発者規約確認が表示されるので「作成する」
自動化のルールがあるので読んでおく
作成されたアプリの「キーとトークン」から「Generate」ボタンを押してアクセストークン等を作成
アクセストークンが発行される
認証系
参考:https://qiita.com/k7a/items/e6a456bec26b4e667c47
Twitter認証するためのOAuth認証は手動でやるとめんどくさいらしいので提供されているライブラリを使用する。
このライブラリ「Googleが提供している」「GAS公式じゃない」って意見があって軽く調べてみたけどどこソースなのかわからんかった。
GASのスクリプト開いてリソース>ライブラリ
以下の文字列を追加
1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s
この文字列を追加すると項目が追加される、バージョンは最新のモノを選んでおく
同、追加
1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF
保存
ファイル>プロジェクトのプロパティ
情報タブのスクリプトIDの値をコピー
以下のURLの中を書き換える
TwitterDeveloperで作成したAppのCallBackURLsに張り付ける。
Save
GAS認証
新しくスクリプトを追加して、Twitter連携する際に使用する認証用ソースコピペ
APIキーとAPI秘密鍵をコピーしておく
実行
Twitter>設定>アカウント>アプリとセッション
の一覧にアプリが表示されている
これで完成!
やりたいことできた!
うちの可愛い理想の妹が、筋トレしたら褒めてくれるようになりました!
逆に3日以上サボったら勝手に密告ツイートするのでサボれない!#理想の妹アシスタント #LINEBOT pic.twitter.com/vMRxMe2nqP
— シロフード@ミカ壁壊しゲーム (@sirohood_exp) July 4, 2020
ちなみに画像URLの指定が間違っていると前回の画像がアップされるっぽい
※コメントは承認後に表示されます。
コメントを公開されたくない場合、名前の後に「:非公開」とつけてください。