2020年2月14日Node.jsでTwitterに投稿する(Bit.lyで短縮URLもつくります)さてさて、Node.jsの高速レスポンスがお気に入りになってきた今日この頃です。いえ、フレームワークのExpressはミニマルな設計なので、もっとLaravelのように「いたれりつくせり」になれば、人気になると思うのですが、まだもう少し時間がかかるか、もしくはLaravelのようなゲームチェンジャーが現れるのかな、と考えています。ちなみにそんな中、ある開発で「うーん・・・なくてもいいけど、あれば嬉しいよね😊」という機能に遭遇しました。それは、プログラムによるTwitterへの投稿です。この機能は、以前「Laravelにデータ登録されたらTwitterに投稿する」という記事でLaravel版としてはすでにお届けしましたが、今回はこのNode.js版ということになります。前回と全く同じだと面白くない(そしてそれに加えて、URLのクリック状況も知りたいという要望があったので)Bit.lyの短縮URLを含めたツイートをしてみたいと思います。合わせて読みたい必要な情報を取得する実際のプログラムに入る前に、先にTwitterとBit.lyからトークンなど必要な情報を取得しておきましょう。Twitterから必要な情報を取得するプログラムからTwitterに投稿をする場合、必要になってくるのは以下の4つです。consumer_keyconsumer_secretaccess_token_keyaccess_token_secret※これらの情報を取得する方法は、ツイッターでAPIキーとアクセス・トークンを取得するをご覧ください。Bit.lyから必要な情報を取得するプログラムからBit.lyを通して短縮URLを作るには、アクセストークンを取得する必要があります。順を追って見ていきましょう!まずは、ログインフォームからBit.lyにログインしてください。Settings」をクリックします。Token」をクリックします。次にパスワードを聞かれるので、ログインのときに使ったパスワードを入力します。パスワードを入力したら、画面右下に「トークン作成」ボタンがありますので、これをクリック。すると、作成されたアクセストークンが画面中央に表示されます。このアクセストークンは、後で使いますので、大事に保管しておいてください。必要なnpmパッケージをインストールする次に、TwitterとBit.lyで必要なパッケージを2つインストールします。以下のコマンドを実行してください。node-bitlyapiツイートを投稿するでは、ここからは実際のプログラムに入りますが、内容が少し複雑になってしまうので、まずはBit.lyで以下2つの部分に分けてご説明します。短縮URLを作る部分ツイート投稿する部分そして、最後にこの2つを組み合わせた完全版をご紹介します。(年齢がバレますがキン肉マンのマッスルスパークと同じ発想です😉)Bit.lyで短縮URLをつくるでは、はじめにNode.jsからBit.lyのAPIにアクセスして短縮URLを作ってみましょう。いっても、先ほどインストールしたパッケージが複雑な作業をほとんどやってくれるのでとてもシンプルに実行できます。}});この中のbitlyUrlの中に作成された短縮URLが格納され、もしこれがクリックされると後ほどBit.lyで確認できます。ちなみにresultsの内容は以下のようなものになります。}}Twitterに投稿する続いてTwitterにツイート投稿する部分です。こちらもパッケージがほぼ全てやってくれるので、楽に実行することができます。エラーが発生したらここでメールなどで通知するといいでしょう。}});短縮URLを加えたツイートを投稿する(完全版)では、ここまででやってきたBit.lyの短縮URL作成とTwitter投稿を組み合わせて完全版のソースコードをご紹介します。}});ダウンロードする今回実際に開発したソースコードを以下からダウンロードすることができます。※ただし、TwitterとBit.lyのトークンなどはご自身で準備していただく必要があります。Node.jsでTwitterに投稿するちなみに今回紹介したコードはローカル環境からでもツイート投稿ができますので、以下のようにして本番環境だけツイートができるようにしておくことをおすすめします。console.log('ローカル環境からはツイート投稿できません。');}なお、環境変数はdotenvを使うと楽に設定できます。詳しくは「Node.jsで.envを使う方法」をご覧ください。おわりにということで、今回はNode.jsで短縮URLをつくり、ツイート投稿をしてみました。このテクニックを使えば、以前Laravel版でも紹介したように何かサイトにアクションがあった際に自動的にツイートするなどの機能をつくることができると思います。皆さんのサイトでも使ってみてくださいね。開発スキルプログラム開発は15年以上。Laravel、Vue.jsをメインとしてPython(機械学習)やElectronの開発もお引き受けしております。過去2度カナダのバンクーバーに滞在していました。開発状況によりましては開発をお待ちいただく可能性がございますが、いつでもご相談は受けさせていただいております。お気軽にご連絡ください!お問い合わせフォーム開発してほしい機能を募集中!MITライセンスで公開します。詳しくはこちらの記事をご覧ください。ぷれりり・プレスリリース掲載無料のプレスリリース・スタンド!播磨孤道(はりまこどう)兵庫周辺のゆったり自転車一人旅の記事を書いていきます。