Динамически генерируйте токен доступа Pinterest с PHP API - PullRequest
0 голосов
/ 03 мая 2018

Я разработал плагин Pinterest для пользователей WordPress. Теперь проблема с генерацией токенов в Pinterest API. Я установил и настроил соответственно API docs . В Шаг 1 вы получаете код доступа, а в Шаг 2 вам необходимо запросить токен доступа с помощью кода доступа. Шаг 1 будет успешным, но на шаге 2 выдается сообщение об ошибке.

Я уже обратился в службу поддержки Pinterest по электронной почте, но они говорят:

Сейчас мы небольшая команда, и мы не можем предложить поддержку разработки или проконсультируйтесь с API только сейчас. Для большей поддержки использования нашего API, Мы рекомендуем вам использовать ресурсы разработчика, такие как Переполнение стека .

Код, который я сделал: Я уже сделал APP и использовал команду App ID и Secret, а также URL-адрес перенаправления, также установленный в APP ниже:

$client_id = "&client_id=496200555XXXXXXXX1778834";
$client_secret = "&client_secret=48d62d7c21aa432bb5320c0aeXXXXXXXXXXX75933f6295db1bae61ffa66ca31";
$authorization_url = "https://api.pinterest.com/oauth/?";
$response_type = "response_type=code";
$state = "&state=weblizar_app";
$scope = "&scope=read_public,read_relationships";
$redirect_uri = "&redirect_uri=https://weblizar.com/pinterest-access-token.php";
$access_token_url = "https://api.pinterest.com/v1/oauth/token?";
$grant_type = "grant_type=authorization_code";

// Step 1: get authorization code
$access_code_url = $authorization_url . $response_type . $redirect_uri . $client_id . $scope . $state;
echo "<a href=$access_code_url>Get Authorization Code</a>";

// Step 2: exchange the access token
if(isset($_GET['code'])) {
    $authorization_code = $_GET['code'];
    $access_code_url = $access_token_url . $grant_type . $client_id . $client_secret ."&code=" .$authorization_code; echo "<br>";

    echo "Curl post URL - "; echo "<br>";
    $ch = curl_init();
    echo $url = $access_code_url;
    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);

    echo "Curl Post Response"; echo "<br>";
    echo "<pre>";   
    print_r($result);  
    echo "<pre>";
}

Ответ, возвращенный после шага 2

{
  "message": "405: Method Not Allowed",
  "type": "http"
}

Как всем известно URL генерации токена Pinterest больше не доступен для пользователей или закрыт.

Вы можете проверить, код доступен на сайте: https://weblizar.com/pinterest-access-token.php

Любая помощь действительно ценится. Заранее спасибо.

...