Как уже упоминал @zenpoy (и который вы уже знаете), вы должны быть авторизованы. Поэтому вы должны сохранить файл cookie, который вы получите как ответ действительного звонка на api/login
. Я написал код, который регистрирует пользователя и извлекает все сохраненные вещи:
import urllib
import urllib2
import cookielib
import json
login_url = 'https://ssl.reddit.com/api/login/'
saved_url = 'https://ssl.reddit.com/user/<username>/saved.json'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
def login(username, passwd):
values = {'user': username,
'api_type': 'json',
'passwd': passwd}
data = urllib.urlencode(values)
response = opener.open(login_url, data).read()
print json.loads(response)
def retrieve_saved(username):
url = saved_url.replace('<username>', username)
response = opener.open(url).read()
print json.loads(response)
login(<username>, <passwd>)
retrieve_saved(<username>)
И отправляет ли сообщение об ошибке в тело? – Guillaume
Ничего. Он просто отправляет ошибку: 403 – Hick
Попробуйте сами: http://www.reddit.com/user/{username}/saved/.json Он дает тот же ответ. – Hick