Ruby - Tumblr でテキスト投稿!
Updated:
Ruby で Tumblr へテキスト投稿する方法についての記録です。
0. 前提条件
- 今回の記事では LMDE2(Linux Mint Debian Edition 2), Ruby 2.3.3-p222 での作業を想定。
- Tumblr API の Consumer Key, Consumer Secret が取得済みであること。(過去参照: Tumblr API - Consumer Key, Secret Key の取得!)
- Tumblr API の Access Token, Access Token Secret が取得済みであること。(過去参照: Ruby - Tumblr のアクセストークンを取得!)
- Tumblr への投稿には RubyGems ライブラリ tumblr-client を使用する。
1. RubyGems ライブラリ tumblr_client のインストール
RubyGems ライブラリ tumblr-client が未インストールなら、インストールしておく。
$ sudo gem install tumblr_client
2. Ruby スクリプトの作成
以下のように作成した。
単純に各種キーを設定後、インスタンス化して実行するだけである。
(コマンドラインの第1引数にタイトル、第2引数に投稿する内容を指定して実行すると、投稿できる。投稿内容の改行は \n
を指定する)
File: tumblr_text.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#! /usr/local/bin/ruby
# coding: utf-8
#=タイトル、内容を引数で与えて Tumblr にテキスト投稿する
#
# date name version
# 2017.01.03 mk-mode 1.00 新規作成
#
# Copyright(C) 2017 mk-mode.com All Rights Reserved.
#---------------------------------------------------------------------------------
# 引数 : 第1 - タイトル
# 第2 - 内容
# ( 半角スペースが存在する場合は "" で括る。改行は \n を使用する )
#---------------------------------------------------------------------------------
#
require 'tumblr_client'
class TumblrText
# Tumblr API Keys
CONS_KEY = "<Consumer Key>"
CONS_SEC = "<Consumer Secret>"
ACCS_KEY = "<Access Token>"
ACCS_SEC = "<Access Token Secret>"
SITE = "<your_site>.tumblr.com"
def initialize(args)
@title, @body = args[0], args[1].gsub(/\\n/, "\n")
Tumblr.configure do |config|
config.consumer_key = CONS_KEY
config.consumer_secret = CONS_SEC
config.oauth_token = ACCS_KEY
config.oauth_token_secret = ACCS_SEC
end
@client = Tumblr::Client.new
end
def exec
@client.text(SITE, {title: @title, body: @body})
rescue => e
$stderr.puts "[#{e.class}] #{e.message}"
e.backtrace.each { |tr| $stderr.puts "\t#{tr}" }
exit 1
end
end
if __FILE__ == $0
exit if ARGV.size < 2
TumblrText.new(ARGV).exec
end
3. Ruby スクリプトの実行
第1引数にタイトル、第2引数に投稿内容を指定して実行する。
$ ./tumblr_text.rb TEST "これはテストです。\n(管理者)"
4. 確認
Tumblr サイトにアクセスし、投稿できていることを確認する。
参考サイト
今回はテキスト投稿のみでしたが、画像投稿をしたり、投稿した一覧を取得したりも容易にできます。
以上。
Comments