1
2

More than 1 year has passed since last update.

30分でできるRubyからTwitterにツイートするプログラム

Last updated at Posted at 2021-10-02

ツイートできるまでの流れ

1.TwitterDeveloperの登録
2.TwitterDeveloperでプロジェクトの作成
3.APIの取得
4.プログラムの作成・実行

TwitterDeveloperの登録

当記事では、TwitterDeveloperへの申請は完了しているものとして進めます。

まだアカウントも持っていない人は、これらの記事を参考に登録を行ってみてください!

APIの取得

プロジェクトを作成し、APIキーを取得します。

以下の4つのキーを取得することでTwitterと連携することができるようになります!
自分の書いたプログラムとTwitterを繋げる鍵のようなイメージで大丈夫です!

  • consumer_key
  • consumer_secret
  • access_token
  • access_token_secret

では、Developerにログインしてください
https://developer.twitter.com/en


まずは、[ +Create App ] からAppを作成します
スクリーンショット 2021-10-02 18.06.52.png

Appの名前は適当に決めて入力してください!
スクリーンショット 2021-10-02 16.46.25.png

次の画面で、2つのkeyが取得できるため、どこかに控えておきましょう!
- consumer_key
- consumer_secret

残り2つのkeyについては、[ Access Token and Secret ] Regenerateボタンを押すことで取得することができます。
- access_token
- access_token_secret
こちらもどこかに控えておきましょう!
スクリーンショット 2021-10-02 18.28.36.png
consumer_keyなどを控え忘れた人などは、
[ API Key and Secret ]からRegenerateボタンを押すことで再発行することもできます。

プログラムの作成

コードを書く前に必要なgemのインストールを行いましょう

ターミナル
$gem install twitter


下準備が完了したので、プログラムを書いていきます
以下のコードをコピーして、控えた4つのkeyに修正するだけです!

あとはこのプログラムを実行することでツイート完了です
ぜひやってみてください!

twitting.rb
require 'twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "ここにconsumer_key入力してね!"
  config.consumer_secret     = "ここにconsumer_secret入力してね!"
  config.access_token        = "ここにaccess_token入力してね!"
  config.access_token_secret = "ここにaccess_token_secret入力してね!"
end

client.update("Rubyからツイート @gem!")

【注意】こちらの4つのkeyは第三者に知られると悪用される可能性があるため、GitHubなど公の場には上げないように気をつけてください

【補足】Read-only application cannot POST Error の解決方法

エラーの内容を簡単に説明すると、書き込みの権限がないためエラーとなってます
権限は簡単に変更できます!

TwitterDeveloperで、以下のEditから[ Read and Write ]に変更を行う
権限の設定を変更した場合は、アクセストークンを再発行して使用する必要があります
スクリーンショット 2021-10-02 19.16.04.png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2