【发布时间】:2016-02-06 16:58:24
【问题描述】:
您好,我必须向 api(pitney bowls 地理位置)发送请求,我需要来自站点的访问令牌。在网站上,它被称为 - 要获取访问令牌,请设置标头和请求正文并调用令牌 URI:
Authorization: Basic {BASE64 ENCODED VALUE}
Content-Type: application/x-www-form-urlencoded
POST https://api.pitneybowes.com/oauth/token
grant_type=client_credentials
我目前正在使用以下代码:-
$val= base64_encode ('{gR6Ov7fCmuzHcVXE6bsmcUOt3SXhmXlL}:{ud61in4FYSGyF0eU}');
$ch = curl_init();
$headr = array();
$headr[] = 'Authorization: Basic {'.$val.'}';
$headr[] = 'Content-Type: application/x-www-form-urlencoded';
$headr[]='grant_type=client_credentials';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);
curl_setopt($ch, CURLOPT_URL, "https://api.pitneybowes.com/oauth/token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
但是没有得到任何结果。知道可能出了什么问题吗?
【问题讨论】:
-
只有前 2 个似乎是有效的标头设置。
-
@jeroen- 即使我这么认为。然而,在 api 中,它写了 - 要获取访问令牌,请设置标头和请求正文并调用令牌 URI:。那么我该如何在请求正文或任何地方设置grant_type
-
@jeroen - 抱歉,如果这是一个愚蠢的问题,但我之前没有使用过 curl...
-
我认为是
CURLOPT_POSTFIELDS -
嘿@jeroen - 它工作.. 非常感谢!!!很多... :)