use Carp;
our $HAVE_JSON_SYCK;
eval { require JSON::Syck; $HAVE_JSON_SYCK = 1 };
eval { require JSON } unless $HAVE_JSON_SYCK;
Carp::croak("JSON::Syck or JSON required to use " . __PA
CKAGE__) if $@;
*_parse_json =
$HAVE_JSON_SYCK ? sub { JSON::Syck::Load($_[1]) }
: sub { JSON::jsonToObj($_[1]) };
}
__PACKAGE__->mk_accessors(qw(api_key secret
sub _get_auth_as_json {
my $self = shift;
my $cert = shift or croak "You must specify your cert as an argument.";
my $uri = URI->new('http://auth.hatena.ne.jp/api/auth.json');
my $requ