0

我正在尝试制作一个脚本来获取来自我使用的网站的各种通知的数量。未读电子邮件,未读 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)
4

1 回答 1

1

您将对/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是空的,因为我目前没有通知。

于 2014-08-15T04:29:23.333 回答