1

Net::OAuthモジュールを使用して Yammer API で承認しようとしています。次のコード スニペットは、CPAN の概要からほぼ抜粋したものです。

$Net::OAuth::PROTOCOL_VERSION = Net::OAuth::PROTOCOL_VERSION_1_0A;
my $q = new CGI;

my $request = Net::OAuth->request("request token")->from_hash($q->Vars,
                request_url => $self->_request_token_url,
                request_method => $q->request_method,
                consumer_secret => $self->consumer_private,
            );

しかし、テストを実行しようとすると、次のようなエラーがスローされます。

Expected a hash! at /Library/Perl/5.8.8/Net/OAuth/Message.pm line 241.

明らかな構文エラーを犯したのでしょうか、それとも OAuth モジュール自体を調べる必要があるのでしょうか?

4

2 に答える 2

2

ネットで::OAuth::メッセージ

sub from_hash {
    my $proto = shift;
    my $class = ref $proto || $proto;
    my $hash = shift;
    if (ref $hash ne 'HASH') {
        die 'Expected a hash!';
    }
    my %api_params = @_;

おそらく、 $q->Vars がハッシュ参照を返すことを確認できます

my $vars = $q->Vars;
print ref($vars);
于 2009-08-20T09:28:04.453 に答える