|

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

tumblife-for-rubyでtumblrにオーディオファイルをpostする(2012-09)

(1) http://www.tumblr.com/oauth/apps でアプリを登録して consumer key と consumer secret を取得する。
(2) 次のスクリプトで access token, access token secret を取得する。

require 'oauth'

CONSUMER_KEY    = '{your consumer key}'
CONSUMER_SECRET = '{your consumer secret}'

consumer = OAuth::Consumer.new(
  CONSUMER_KEY,
  CONSUMER_SECRET,
  { :site => 'https://www.tumblr.com/' }
)

request_token = consumer.get_request_token
provider_auth_url = request_token.authorize_url
puts provider_auth_url

system "firefox #{provider_auth_url}"
# ブラウザで「許可」ボタンを押して許可する

# リダイレクト先のURLを入力
puts "Enter URL with oauth verifier: "
url_with_oauth_verifier = STDIN.gets.strip
/oauth_verifier=(.+)$/ =~ url_with_oauth_verifier
oauth_verifier = $1
puts "oauth_verifier: '#{oauth_verifier}'"

access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier)

puts <<EOB
----
  config.consumer_key       = '#{CONSUMER_KEY}'
  config.consumer_secret    = '#{CONSUMER_SECRET}'
  config.oauth_token        = '#{access_token.token}'
  config.oauth_token_secret = '#{access_token.secret}'
EOB

(3) 上記で取得した consumer key, consumer secret, access token, access token secret を指定して tumblife for ruby を使う。

require 'tumblife'
 
Tumblife.configure do |config|
  config.consumer_key       = '{your consumer key}'
  config.consumer_secret    = '{your consumer secret}'
  config.oauth_token        = '{your access token}'
  config.oauth_token_secret = '{your access token secret}'
end

client = Tumblife.client

caption = <<EOB
<p>
"<span class="track_title">Break That Groove Muffin</span>" by Shnabubula
<br />from album "<a href="http://ubiktune.org/releases/ubi014/">Adventure Magic Supreme Journey Music [ubi-014]</a>" 
<br /><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>
</p>
<p>
(via <a href="http://phlow-magazine.com/charts/1732-sergio-de-prado-best-creative-commons-music-moments-2010">Sergio de Prado’s Best Creative Commons Music Moments 2010</a>)
</p>
EOB

client.audio(
  "anbtradio.tumblr.com",
  :caption => caption,
  :data => Faraday::UploadIO.new("./shnabubula__break_that_groove_muffin.mp3", "audio/mpeg")
)
これでできました。

環境

ruby 1.9.2p180
oauth-0.4.7
tumblife-1.2.0

参考

スポンサーサイト



** ホームに戻る

|
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。