x-ruby: 新たなTwitter gemの使い方
Twitterは最近、APIの仕様を一新し、「x-ruby」という新しいgemをリリースしました。このgemは、v1.1とv2のAPIの両方に対応しており、Rubyの開発者にとって非常に便利です。
なので、今回はその基本的な使い方について説明します。
【セットアップ】
-
Gemのインストール
新しいgemをインストールするために以下のコマンドを実行します。
gem install 'x'
または、Gemfileに以下の行を追加した後、bundle install
を実行します。
gem 'x'
-
環境変数の設定
TwitterのAPIキーなどの情報を環境変数として設定します。dotenv
gemを利用することで、このプロセスが簡単になります。
【ツイートの実装】
-
APIクライアントの初期化
APIクライアントを以下のように初期化します。
x_credentials = {
api_key: ENV['X_API_KEY'],
api_key_secret: ENV['X_API_KEY_SECRET'],
access_token: ENV['X_ACCESS_TOKEN'],
access_token_secret: ENV['X_ACCESS_TOKEN_SECRET'],
}
x_client = X::Client.new(**x_credentials)
-
ツイートの送信
ツイートを送信するには、以下のコードを使用します。
tweet = x_client.post("tweets", {text: "Hello, World! (from x-ruby gem)"})
【v1.1 APIの利用】
「x-ruby」gemは旧バージョンのAPI、v1.1にも対応しています。
v1_client = X::Client.new(base_url: "https://api.twitter.com/1.1/", **x_credentials)
v1_client.get("account/settings.json")
【v1.1 media/upload APIの利用】
v1.1のmedia/upload APIを使用する場合には注意が必要です。APIの仕様上、メディアのアップロードにはmulti-part形式が必要です。この問題を解決するための方法は、こちらのGitHub Issueで確認できます。