我想解析你從Perl中從Facebook獲得的json signed_request,但需要一點幫助!Perl和Facebook的json signed_request解析
($encoded_sig, $payload) = split('\.', $formdata{'signed_request'});
$sig = decode_base64url($encoded_sig);
$data = decode_json(decode_base64url($payload));
%decoded = %{ decode_json(decode_base64url($payload)) };
$expected_sig = hmac_sha256($payload, $app_secret);
if ($expected_sig eq $sig) {
while (my ($key, $value) = each %decoded) {
print "$key = $value\n<br>";
}
}
每個$值可以包含字符串或其他散列的引用(並且其中一些HASHs可能包含另一個HASH),有沒有更好的方式來處理呢?
上述返回的腳本:解碼之後接收
algorithm = HMAC-SHA256
page = HASH(0x632b100)
issued_at = 1323081670
user = HASH(0x632b150)
和JSON是:
{"algorithm":"HMAC-SHA256","issued_at":1323081670,"page":{"id":"192130540873448","liked":true,"admin":true},"user":{"country":"gb","locale":"en_GB","age":{"min":21}}}
理想情況下希望看到的結果是:
algorithm = HMAC-SHA256
page-id = 192130540873448
page-liked = true
page-admin = true
issued_at = 1323081670
user-country = gb
user-locale = en_GB
user-age-min = 21
數據結構隨着來自Facebook的授權用戶響應而增加更多數據。
非常感謝
爲什麼不使用[這個Facebook SDK在Perl](http:// p3rl.org/Facebook::Cookbook)。 –