Я использую CakePHP, и у меня уже есть токен доступа и токен обновления для Reddit API, когда я делаю запрос get к конечной точке, такой как /subreddits/popular.json, он работает и возвращает json. Моя проблема заключается в том, что, когда я делаю запрос на получение /subreddits/mine/subscriber.json, я получаю следующий ответ:
302 Found
The resource was found at https://www.reddit.com/subreddits/login.json?dest=https%3A%2F%2Foauth.reddit.com%2Freddits%2Fmine%2Fsubscriber.json%3Fcount%3D100%26limit%3D100; you should be redirected automatically. "
Почему json не возвращается? или я что-то пропустил, код, используемый для отправки запроса на получение:
$endpoint = $this->ENDPOINT_OAUTH . '/subreddits/mine/subscriber.json';
$options = array(
'header' => array(
'Authorization' => $accessToken,
'Accept' => 'application/json',
'Content-Type' => 'application/json; charset=UTF-8'
)
);
$results = $HttpSocket->get($endpoint, $data, $options);
print_r('<pre>');
var_dump($results);
print_r('</pre>');
РЕДАКТИРОВАТЬ: если я добавлю в свой массив опций ‘redirect’ => true, то он перенаправит на 302 найденный URL-адрес, а затем возвращает 200 ок ответ, но без данных
РЕДАКТИРОВАТЬ 2: После добавления ‘redirect’ => true, я затем удалил ‘:’ из ToKEN на предъявителя, и он работает
Чтобы это работало, мне нужно было добавить redirect => true к моему параметру параметров, чтобы он отправил второй запрос GET.
При настройке моего токена доступа он был установлен так:
$accessToken = 'Bearer: ' . $accessToken;
Когда я удалил «:» из передней части носителя, он работал и возвращает результаты
Других решений пока нет …