Не удается получить идентификатор пользователя reddit

Мне нужно только аутентифицировать пользователей Reddit на моем сайте (в php). Я использую простой файл_get_contents с stream_context_create для заголовков. Я уже реализовал аутентификацию пользователей Facebook.

Для Reddit я могу успешно получить access_token. Но когда я получаю запрос /api/v1/me с этим access_token, я всегда получаю HTTP/1.1 403 Forbidden.

Пожалуйста помоги.

Это код php, который я использую после получения access_token

$opts = array('http' =>
 array(
 'method' => 'GET',
 'header' => 'Authorization: bearer '.$result->access_token)
);
$context = stream_context_create($opts);
$result = file_get_contents('https://oauth.reddit.com/api/v1/me', false, $context);

Есть что-то, чего я не вижу.

Вот var_dump

array(7) {
 [0]=> string(22) "HTTP/1.1 403 Forbidden"
 [1]=> string(24) "Server: cloudflare-nginx"
 [2]=> string(35) "Date: Sun, 23 Nov 2014 06:XX:XX GMT"
 [3]=> string(38) "Content-Type: text/html; charset=UTF-8"
 [4]=> string(17) "Connection: close"
 [5]=> string(139) "Set-Cookie: __cfduid=XXXXXXXX; expires=Mon, 23-Nov-15 06:XX:XX GMT; path=/; domain=.reddit.com; HttpOnly"
 [6]=> string(28) "CF-RAY: XXXXXXXXX-XXX"
}
1 ответ

По правилам reddit API вам необходимо отправить уникальный User-Agent с вашим запросом.

Измените свою строку User-Agent клиента на нечто уникальное и описательное, предпочтительно ссылаясь на свое имя пользователя reddit. Пример: <code>User-Agent: flairbot/1.0 by spladug</code> Многие пользовательские агенты по умолчанию (например, "Python/urllib" или "Java") сильно ограничены, чтобы поощрять уникальные и дескриптивные строки пользовательского агента.

licensed under cc by-sa 3.0 with attribution.