ユーザーが保存したデータにアクセスしようとしています。そして、これが API エンドポイントである 403 エラーを返し続けます。
http://www.reddit.com/dev/api#GET_user_ {ユーザー名}_saved
このリクエストを機能させるためにヘッダーに送信するものを完全に混乱させており、reddit のドキュメントにはまったく言及されていません。ヘルプ?
これを行うために Python-requests ライブラリを使用しています。
ユーザーが保存したデータにアクセスしようとしています。そして、これが API エンドポイントである 403 エラーを返し続けます。
http://www.reddit.com/dev/api#GET_user_ {ユーザー名}_saved
このリクエストを機能させるためにヘッダーに送信するものを完全に混乱させており、reddit のドキュメントにはまったく言及されていません。ヘルプ?
これを行うために Python-requests ライブラリを使用しています。
@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>)