ユーザーがFacebook経由でログインするときに、自分のサイトのプロファイル画像としてFacebookプロファイル画像を使用したいと思います。Facebookのログインにomniauthgemを使用しています。ログイン後、omniauthは次のようなハッシュの形式でFacebookの応答を返します。
{
"user_info" => {
"last_name" => "..........",
"image" => "http://graph.facebook.com/100002356868026/picture?type=square",
"first_name" => "........",
"email" => "xxxxx@xxx.xxx"
},
"uid" => "..........."
}
ここでは、を使用して画像のURLにアクセスし、を使用しrequest.omniauth["user_info"]["image"]
て保存できます
require 'open-uri'
image_url = request.omniauth["user_info"]["image"]
image_data = open(image_url).read
File.open("image.png", "wb") { |file| file << image_data }
URLから画像名を取得したい。ただし、FacebookのURLには名前が含まれていません(URLに画像名が含まれている別のページにリダイレクトするリンクです)。URLから画像名を解析するにはどうすればよいですか?