Как запустить скрипт, который получает входящие сообщения или достижения stackoverflow?

Я пытаюсь создать скрипт, который получает количество различных уведомлений с веб-сайтов, которые я использую. Непрочитанные электронные письма, количество непрочитанных сообщений Reddit/Facebook, и я также хотел бы получить количество уведомлений о переполнении стека.

К сожалению, гугление любых скриптов на 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)

person Charles Clayton    schedule 15.08.2014    source источник


Ответы (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 пусто, так как в данный момент у меня нет уведомлений.

person Andy♦    schedule 15.08.2014