我正在尝试使用PHP使用Pinterest API,但目前它并不能正常工作。 我使用这个指南来开始:
https://developers.pinterest.com/docs/api/authentication/
到目前为止,除了第3步之外,我已经让所有东西都运行起来了。文档说只是一个简单的请求:
https://api.pinterest.com/v1/me/?access_token=<YOUR-ACCESS-TOKEN>
- 进行身份验证的请求
最后,一旦您拥有访问令牌,您可以使用OAuth 2.0 Bearer令牌代表用户进行授权请求, 通过Authorization请求标头或通过名为access_token的请求参数提供,其中access_token(作为表单编码的主体参数或URI查询参数之一)。 优先选择Authorization标头。
例如,您可以在浏览器上访问此网站:
https://api.pinterest.com/v1/me/?access_token= 一个示例响应可能如下所示:
{ "data": { "url": "https://www.pinterest.com/ben/", "first_name": "Ben", "last_name": "Silbermann", "id": "4788400174839062" } }
我有一个access_token看起来像这样:
AcFFayZKwqXuKVkj1J-0QN1fCob1FAgjuP9-OtFCg_j49UAgogXXXXX
但每次我都收到以下消息:
{"status": "failure", "code": 3, "host": "coreapp-devplatform-devapi-181", "generated_at": "Mon, 28 Sep 2015 12:28:38 +0000", "message": "Authorization failed.", "data": null}
我使用以下PHP代码从URL获取数据:
$curl = curl_init($url);
curl_setopt_array($curl, array(
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_FORBID_REUSE => true,
CURLOPT_FRESH_CONNECT => true,
CURLOPT_HEADER => false,
CURLOPT_HTTPHEADER => array("Content-Type: application/x-www-form-urlencoded"),
CURLOPT_NOBODY => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT => 30,
CURLOPT_USERAGENT => self::userAgent()
));
$result = curl_exec($curl);
var_dump($result);
$errorCode = curl_errno($curl);
$respCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);