Используя код, предоставленный Packagist (https://packagist.org/packages/patreon/patreon?q=&р = 6), Я не могу получить ожидаемый результат. Мой код теперь регистрирует пользователя и возвращает его данные (которые я могу просмотреть через var_dump), но у меня действительно проблемы с чтением.
Согласно документации API Patreon, данные, полученные от API, автоматически устанавливаются в виде массива, если не указано иное. Я запускаю точный код с их веб-сайта, но их API возвращает объект, и я не уверен, как прочитать данные пользователя и получить информацию из него. Я попытался установить возвращаемые данные в виде массива или JSON без какой-либо удачи. Я просто получаю этот беспорядок, когда я преобразовываю ответ API в массив.
Скриншот — https://i.gyazo.com/3d19f9422c971ce6e082486cd01b0b92.png
require_once __DIR__.'/vendor/autoload.php';
use Patreon\API;
use Patreon\OAuth;
$client_id = 'removed';
$client_secret = 'removed';
$redirect_uri = "https://s.com/redirect";
$href = 'https://www.patreon.com/oauth2/authorize?response_type=code&client_id=' . $client_id . '&redirect_uri=' . urlencode($redirect_uri);
$state = array();
$state['final_page'] = 'http://s.com/thanks.php?item=gold';
$state_parameters = '&state=' . urlencode( base64_encode( json_encode( $state ) ) );
$href .= $state_parameters;
$scope_parameters = '&scope=identity%20identity'.urlencode('[email]');
$href .= $scope_parameters;
echo '<a href="'.$href.'">Click here to login via Patreon</a>';
if (isset($_GET['code']))
{
$oauth_client = new OAuth($client_id, $client_secret);
$tokens = $oauth_client->get_tokens($_GET['code'], $redirect_uri);
$access_token = $tokens['access_token'];
$refresh_token = $tokens['refresh_token'];
$api_client = new API($access_token);
$campaign_response = $api_client->fetch_campaign();
$patron = $api_client->fetch_user();
$patron = (array)$patron;
die(var_dump($patron));
}
Я хочу иметь возможность просматривать данные пользователя и информацию о залоге. Я пробовал такие вещи, как $ patron-> data-> first_name, $ patron [‘data’] [‘first_name’] и т. Д., Которые выдали все ошибки об индексе массива, который не был найден.
Задача ещё не решена.
Других решений пока нет …