(“消息”:“此请求已拒绝授权。”)

时间:2017-06-16 16:22:32

标签: php php-curl

尝试从API获取现金簿列表,但总是返回(“消息”:“此请求已拒绝授权。”)。我很肯定订阅密钥是正确的,我可以获得访问和刷新令牌,我登录到身份服务器的用户可以访问多个现金簿。如果我登录到azure开发人员门户并使用“试用我”测试“Get Cashbooks”,它就可以了。有人可以帮忙吗?

这是我的代码:

$subscription_key = '<<SUBSCRIPTION-KEY>>';
$url = 'https://api.reckon.com/R1/cashbooks?subscription-key=' . $subscription_key;
$header = array();
$header[] = 'Content-length: 0';
$header[] = 'Content-type: application/json';
$header[] = 'Authorization: Bearer' . $access_token;
$header[] = 'Ocp-Apim-Subscription-Key' . $subscription_key;
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 2);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($curl);
curl_close($curl);
echo $response;

2 个答案:

答案 0 :(得分:0)

$header[] = 'Authorization: Bearer' . $access_token;

“Bearer”和你的令牌之间可能存在空格。

类似地:

$header[] = 'Ocp-Apim-Subscription-Key' . $subscription_key;

“-Key”和你的钥匙之间可能存在冒号和空格。

答案 1 :(得分:0)

答案很简单。我只是在页面的错误部分。一切都在身体里,我需要在标题中。我只是将所有内容都移到curl_close($ curl)的头部,并在身体中做出反应并得到我的回复。

但是感谢您的回复对我有所帮助。我确实按照建议添加了Bearer和空格,当它没有工作时,我终于意识到我做错了什么。