Как получить метку времени присужденного времени для значков? - PullRequest
0 голосов
/ 12 мая 2018

Каким образом можно использовать время для значка, присвоенного пользователю?

Я попробовал уведомление, как рекомендуется здесь , но я получаю:

method not available

1 Ответ

0 голосов
/ 12 мая 2018

За связанный ответ и Документы API , Вы не можете напрямую получить время присуждения значка от API.
Чтобы получить их косвенно, требуетсянемало работы, которая уже обобщена в этом ответе и которую вы не сделали.Кроме того, косвенный метод ограничен одним, вошедшим в систему, пользователем на сеанс приложения.

Возможно, лучшим подходом является использование Data Explorer (SEDE).

Вот запрос для получения времени награждения пользователя значком .
См. Его в действии на SEDE: data.stackexchange.com / stackoverflow / query / 851077 /...

-- UserId: User ID     "Enter a user's ID."
SELECT      u.Id     AS [User Link]
            , CASE
                WHEN b.Tagbased = 1 THEN 'Tag: [' + b.Name + ']'
                ELSE b.Name
            END    AS [Badge name]
            , CASE
                WHEN b.Class = 1 THEN 'Gold'
                WHEN b.Class = 2 THEN 'Silver'
                WHEN b.Class = 3 THEN 'Bronze'
                ELSE '*Unkown*'
            END    AS [Class]
            , b.Date AS [Awarded]
FROM        Badges b
LEFT JOIN   Users u  ON u.Id = b.Userid
WHERE       b.Userid = ##UserId:int##
ORDER  BY   u.Displayname
            , [Awarded] DESC


Возвращает результаты вроде:

User Link   Badge name        Class      Awarded
Lenak       "Editor"          "Bronze"   "2018-05-02 10:04:38"
Lenak       "Custodian"       "Bronze"   "2018-05-02 09:49:36"
Lenak       "Peer Pressure"   "Bronze"   "2018-04-26 22:18:46"
Lenak       "Informed"        "Bronze"   "2018-04-26 20:38:26"
...