LDR にはサイトの URL をパラメータとして渡すことでそのサイトの Feed の URL を返す API (/api/feed/discover) がある。
この API を叩くことによって、feed の URL はもちろん、ページのタイトルだったり、そのページの Feed を LDR に登録している人数だったりが JSON 形式で返されるため、それをラッピングするクラスをとりあえず作ってみているが、返される(可能性のある)パラメータの中に subscribe_id がある。
package WebService::LivedoorReader::Discovery; use Moose; with 'WebService::LivedoorReader::Role::Subscribe'; has 'link' => ( is => 'ro', isa => 'Str' ); has 'subscribe_id' => ( is => 'ro', isa => 'Str' ); has 'title' => ( is => 'ro', isa => 'Str' ); has 'feedlink' => ( is => 'ro', isa => 'Str' ); has 'subscribers_count' => ( is => 'ro', isa => 'Int' ); __PACKAGE__->meta->make_immutable; no Moose; sub core { WebService::LivedoorReader::Core->instance; } 1;
テストしながら気付いたのだが、自分が LDR で購読していないサイトの URL をパラメータにして /api/feed/discover を叩くと、subscribe_id が返却されない。subscribe_id は「購読している Feed の ID」を意味しているものみたいだから、そうなっているのも当然なのだが、それに気付くまでに随分と時間をムダにした。もともとムダに休日を過ごしているから、無問題という説もある。