Я пытаюсь использовать API Pinterest с помощью PHP, но пока он не работает.
Я использую это руководство, чтобы начать:
https://developers.pinterest.com/docs/api/authentication/
У меня все работает сейчас, кроме шага 3.
Документация говорит, что это просто запрос
https://api.pinterest.com/v1/me/?access_token=<YOUR-ACCESS-TOKEN>
- Создание аутентифицированных запросов
Наконец, когда у вас есть токен доступа, вы можете сделать авторизацию
запросы от имени пользователя с использованием поставляемых токенов OAuth 2.0 Bearer
через заголовок запроса авторизации или через параметр запроса с именем
access_token (предоставляется как параметр тела в кодированной форме или как
Параметр запроса URI). Заголовок авторизации является предпочтительным.Например, вы можете посетить этот сайт в своем браузере:
https://api.pinterest.com/v1/me/?access_token=
Пример ответа может выглядеть так:{
«данные»: {
«URL»: «https://www.pinterest.com/ben/»,
«first_name»: «Бен»,
«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);
Я только что прошел через ту же ошибку, но для другой конечной точки. Попробуйте этот код
$ch = curl_init();
$url = "https://api.pinterest.com/v1/me/?access_token='YOUR_ACCESS_TOKEN'";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = trim(curl_exec($ch));
curl_close($ch);
print_r($result);
Пожалуйста, посмотрите на это обсуждение. Он охватывает ту же проблему, которую вы описываете. Насколько я могу судить прямо сейчас, похоже, это проблема на стороне Pinterest. @ZackArgyle из команды разработчиков Pinterest получил уведомление и работает над этим, я полагаю.