Как создать подпись авторизации для Auth1.0 в PHP для Quickbook Online

Я пытаюсь сгенерировать заголовок авторизации для быстрой книги онлайн в Auth1.0, вот мой код. Но когда я пытаюсь использовать API, он отказывается от подписи. Кто-нибудь может указать на ошибку, пожалуйста?

 <?php

$method = "POST";
$QBO_SANDBOX_URL= "https://sandbox-quickbooks.api.intuit.com/";
$company_id = "123145773232334";

$consumerKey = "qyprdww4dFum0345345ffKla4dEa9HJ";
$consumerSecret = "57d5qY4sdmeUPertBgPtYBoeKYu9z6ip0XhXBhg";
$accessTokenKey = "qyprdgLFTNax4qv8zpA6fWUdkUunuvIfAK5LWsCUBDKyiB7p";
$accessTokenSecret = "HuEoqCQk01SKRgqRBZzEvhZvO5RIdWihK6vWodwG";
$query = "Select * from Account STARTPOSITION 1 MAXRESULTS 5";

$time = time();

$base = $method.'&'.rawurlencode($QBO_SANDBOX_URL.'v3/company/'.$company_id).'&'
.rawurlencode("oauth_consumer_key=".rawurlencode($consumerKey)
.'&oauth_nonce='.rawurlencode('34604g54654y456546')
.'&oauth_signature_method='.rawurlencode('HMAC-SHA1')
.'&oauth_timestamp='.rawurlencode($time)
.'&oauth_token='.rawurlencode($accessTokenKey)
.'&oauth_version='.rawurlencode('1.0')
.'&'.rawurlencode($query));

$key = rawurlencode($consumerSecret.'&'.$accessTokenSecret);

$signature = base64_encode(hash_hmac("sha1", $base, $key, true));

$auth = 'OAuth oauth_token="'.$accessTokenKey.'",oauth_nonce="ea9ec8429b68d6b77cd5600adbbb0456",oauth_consumer_key="'.$consumerKey.'",oauth_signature_method="HMAC-SHA1", oauth_timestamp="'.$time.'",oauth_version ="1.0",oauth_signature="'.$signature.'"';
echo $auth;

?>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]