我正试图制作一个脚本,从我使用的网站获得各种通知的数量。未读电子邮件,你未读的reddit/facebook消息的数量,我也想得到stackoverflow通知的数量。
不幸的是,谷歌任何python脚本从堆栈溢出获取信息得到的问题关于堆栈溢出,而不是关于堆栈溢出。
是否有可能得到沿着这两个脚本的行,但堆栈交换?
import imaplib
import praw
obj = imaplib.IMAP4_SSL("imap.gmail.com","993")
obj.login("","")
obj.select()
obj.search(None,'UnSeen')
unread_gmail = len(obj.search(None, "UnSeen")[1][0].split())
print("Unread emails:", unread_gmail)
r = praw.Reddit(user_agent = "example")
r.login("", "")
i = 0
for message in r.get_unread(): i += 1
unread_reddit = i
print("Unread reddit:", unread_reddit)
您将向/me/notifications/unread
路由发出请求。
至少需要包含一个access_token,其作用域包含read_inbox
和一个键。这将返回一个未被读取的通知列表。
要获得access_token,必须对用户进行身份验证。在您注册您的应用程序后,将收到密钥。
的例子:
import requests
import json
import pprint
TOKEN = "YOURTOKEN"
KEY = "YOURKEY"
SITE = "stackoverflow"
REQUEST_URL = "https://api.stackexchange.com/2.2/me/notifications/unread"
params = {
"pagesize": 1,
"filter": 'default',
"site": SITE,
"key": KEY,
"access_token": TOKEN
}
response = requests.get(REQUEST_URL, params=params)
json_response = response.json()
pprint.pprint(json_response, indent=4)
输出:
{ u'has_more': False,
u'items': [],
u'quota_max': 10000,
u'quota_remaining': 9823}
items
为空,因为我目前没有通知。