*

Rumix2(Windows用Ruby)でFlickrの画像をまとめてダウンロード・バックアップ

公開日: : プログラミング

以前、書いた「RubyでFlickrの画像をまとめてダウンロード・バックアップしておく」はLinux環境だったので、Windows環境でも試してみました。

Ruby on WindowsとしてRumix2を選択

Windows上でRubyを簡単にインストールできるのはRumix(ruby.morphball.net)ではないかなと思い選択。インストール用のファイルをダウンロード、展開、rumix_install.exeをダブルクリックでインストールは簡単。

下準備的なもの。FlickrのAPIキー取得

RubyでFlickrの画像をまとめてダウンロード・バックアップしておく」の「ブラウザでAPIキーとシェアドシークレットを取得」をお読みのうえ、APIキーとシェアドシークレットを取得しておいて下さい。

必要となるgemのインストール

Rumixランチャーより「コマンドライン端末を開く」

HTTPS接続に難儀する

FlickrAPIは2014年6月27日以降はSSL接続が必須となり(Flickr API Going SSL-Only on June 27th, 2014 | code.flickr.com)、FlickRawも現バージョンではSSL接続がデフォルトですので、SSLを使います。

さて、auth.rb(もうちょい↓に記載)を実行してみる段になり苦労します。エラー表示からぐぐっていくと、どうやらSSLで使用する証明書のパスがハードコーディングされているのです!Luisで検索したら多くのトホホが。。。

ruby on rails – How to solve "certificate verify failed" on Windows? – Stack Overflow

このため、SSL証明書のパスを環境変数で明示的に指示しなければなりません。

Download http://curl.haxx.se/ca/cacert.pem into c:\railsinstaller\cacert.pem
Go to your Computer -> Advanced Settings -> Environment Variables
Create a new System Variable:

Variable: SSL_CERT_FILE
Value: C:\RailsInstaller\cacert.pem

とりあえず、テスト。

となり、動作しそうです。

SSL対策まとめ

  • モジラ用?のルート証明書をダウンロード
  • 適当なフォルダにダウンロードしてきた上記cacert.pemを移動
  • 移動したcacert.pemへのパスを環境変数に設定
  • 環境変数の設定の仕方。コントロール パネル\システムとセキュリティ\システムから「システムの詳細設定」→「環境変数」→「新規」。変数名→SSL_CERT_FILE、変数値→c:\rumix\cacert.pem(←例)
  • 念のためWindowsを再起動

auth.rbを実行

RubyでFlickrの画像をまとめてダウンロード・バックアップしておく」を参考にauth.rbを作成。参考までに再掲。文字コードはUTF-8/LFにしておきました。auth.rbはアクセストークン、アクセスシークレットを取得するためだけのスクリプトです。

auth.rb

api_key_hereとapi_secret_hereは「RubyでFlickrの画像をまとめてダウンロード・バックアップしておく」の「ブラウザでAPIキーとシェアドシークレットを取得」により取得したものです。

Rumixのコマンドライン環境上ckw(Rumixをコマンドラインで動かすコマンドライン環境=ckw、シェル=NYAOSと理解)で実行しますと、

Rumixの窓はこのままさわらない(auth.rb実行ごとに返ってくるトークンが異なるので要注意)。

上記oauth_tokenの値xxxxxxxは固有の文字列で返って来ます。https://~deleteをコピーして、ブラウザで開きます。Rumixのコンソール(nkw)でコピーする方法が分からなかったのですが、調べてみるとマウスで選択終了時にクリップボードに入っているようです。

「OK, I’LL AUTHORIZE IT」をクリック。3桁-3桁-3桁の数字が返ってくるので、この文字列をckwに貼り付けます。

これでようやく認証作業完了(xxxの桁数は適当に再現)。

Flickrからファイルをとってくる

RubyでFlickrの画像をまとめてダウンロード・バックアップしておく」の「Ruby+FlickRawで画像を取得」のところと同様です。

  • FlickRaw.api_key 最初の行程で取得したもの
  • FlickRaw.shared_secret 同上
  • flickr.access_token auth.rbを使って取得したもの
  • flickr.access_secret 同上
  • user_idはhttps://www.flickr.com/iconbuilder/の自分のアイコンの画像URLである「https://s.yimg.com/pw/images/buddyicon00.png#8桁の数字@アルファベットと数字2桁」の最後の8桁の数字@アルファベット1文字数字2文字の部分です。
  • base_dir 保存先
  • 35行目でWindowsのフォルダに不的確な文字をアンダースコアに置換していますが、もともとLinux用に作ったものなのでWindows用にはもっと多くの不的確な文字があるかも。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

no image
Inno Setupを利用して複数PCに同様の環境を構築する

ブラウザベースの業務の効率化のためにブックマークレットを作成したのです

no image
sacd_extractをOSXでmakeする

sacd_extractは、SACD-ISOをDSFやDIFFに展開す

サーバのPositive SSL証明書更新(2015/05版)

サーバの証明書を更新 今年もやり方を忘れていたので再録。

ドイツからMAXI-COSI PebbleとEasy Base2他を個人輸入したときの配送記録

MAXI-COSI Pebbleは国内・海外の価格差がそれほどないので

eBayのGlobal Shipping Programでの配送記録

やっぱり遅いeBayのGlobal Shipping Program

→もっと見る

    • None Found
  • Visits today: 0
PAGE TOP ↑