suakx devlog

開発ブログのような

0 notes &

Friendfeedのエントリーを全消しするスクリプトを書いてみた


require 'uri'
require 'net/http'
require 'rexml/document'

begin
  Net::HTTP.version_1_2
  req = Net::HTTP::Get.new('/v2/feed/NICKNAME?format=xml&num=100&start=1')
  xml = Net::HTTP.start('friendfeed-api.com',80) {|http|
    http.request(req).body
  }
  doc = nil
  doc = REXML::Document.new xml
  dels = []
  doc.elements.each('feed/entry') do |elm|
    dels << elm.elements['id'].text.to_s
  end
rescue
  print 'Error', $!, '\n';
end

p dels

for del in dels
  post_args = {:id => del}
  Net::HTTP.start('friendfeed-api.com',80) {|http|
    req = Net::HTTP::Post.new('/v2/entry/delete')
    req.set_form_data post_args
    req.basic_auth('NICKNAME','REMOTEKEY')
    res = http.request(req)
    puts res
  }
end



全消し出来るかと思いきや100しかエントリーを返さない上に総エントリー数を調べる方法が無いので、num=100を10000に変えても、100個づつしか消えません。あしからず。

ちなみにリモートキーはこちらで取得できます。