user3758298
user3758298

Reputation: 380

Reddit Api endpoint returns 302 found

I'm using CakePHP and I've already got a access token and a refresh token for the Reddit API, when I make a get request to a endpoint like '/subreddits/popular.json' it works and returns json. My problem is when I make a get request to /subreddits/mine/subscriber.json I get the following response:

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.  "

Why is json not returned? or have I missed something the code used to send a get request is:

$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>');

EDIT: if I add to my options array 'redirect' => true then it redirects to the 302 found url and then returns a 200 ok response but with no data

EDIT 2: After adding the 'redirect' => true I then removed the ':' from in front of Bearer TOKEN and it works

Upvotes: 2

Views: 401

Answers (1)

user3758298
user3758298

Reputation: 380

To get it working I needed to add redirect => true to my options parameter so that it sent the second GET request.

When setting my access token it was set like this:

$accessToken = 'Bearer: ' . $accessToken;

When I removed the ':' from the front of Bearer it then worked and returns the results

Upvotes: 1

Related Questions