2012-01-06 4 views

答えて

0

PHPの例:

<?php 

$signedRequestObject = parse_signed_request($_POST["signed_request"],YOUR_APPLICATION_SECRET); 

if ($signedRequestObject["page"]){ 
    // this means this signed_request was generated on a page 
    if ($signedRequestObject["page"]["liked"]){ 
     // the page was liked 
    } 
} 


//used functions 
function parse_signed_request($signed_request, $secret) { 
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
    $sig = $this->base64_url_decode($encoded_sig); 
    $data = json_decode($this->base64_url_decode($payload), true); 
    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { 
    echo 'Unknown algorithm. Expected HMAC-SHA256 : '; 
    return false; 
    } 
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); 
    if ($sig !== $expected_sig) { 
    echo = 'Bad Signed JSON signature!'; 
    return false; 
    } 
    return $data; 
} 

function base64_url_decode($input) { 
    return base64_decode(strtr($input, '-_', '+/')); 
} 

?> 
+0

致命的なエラー:D:\ Hosting \ 7564746 \ html \ facebook \ b \ fan.phpの行17にオブジェクトコンテキストでないときに$ thisを使用 –

+0

$ this-> base64_url_decode($ encoded_sig) ; base64_url_decode($ encoded_sig)になります。 –

関連する問題