次のような Tumblr リンクがあります: http://tumblr.com/XXXXXXXX
API と通信するには、ブログのホスト名が必要なので、リンクを完全なリンクに展開する必要があります。次のようなもの: http://blogname.tumblr.com/post/XXXXXX
tumblr 短縮リンクを展開するにはどうすればよいですか?
次のような Tumblr リンクがあります: http://tumblr.com/XXXXXXXX
API と通信するには、ブログのホスト名が必要なので、リンクを完全なリンクに展開する必要があります。次のようなもの: http://blogname.tumblr.com/post/XXXXXX
tumblr 短縮リンクを展開するにはどうすればよいですか?
Ruby でそれを行う別の方法を次に示します。tumblr リダイレクトに従う必要があります。http://tmblr.co/XXXXXからhttp://www.tumblr.com/XXXXXへ、そして最後に展開された URL へ。Net::HTTP ドキュメントから:
require 'net/http'
require 'uri'
def get_permalink(uri_str, limit=5)
# You should choose better exception.
raise ArgumentError, 'HTTP redirect too deep' if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPOK then uri_str
when Net::HTTPMovedPermanently
get_permalink(response['location'], limit-1)
when Net::HTTPFound
get_permalink(response['location'], limit-1)
end
end
それが誰かを助けることを願っています
Tumblr API 内では、 Derek Gottfridが述べたように、それが可能だとは思いません。アプリまたはサービス内で使用している場合は、ヘッダーを確認してみてください。
たとえば、Python では、urllib2を使用できます。
import urllib2
tumb = urllib2.urlopen('http://tumblr.com/XXXXXXXX')
print tumb.url
PHP では、 get_headersメソッドを使用できます。
$url = 'http://tumblr.com/XXXXXXXX'
print_r(get_headers($url))