habrahabr-api-python-client icon indicating copy to clipboard operation
habrahabr-api-python-client copied to clipboard

Мета информация

Open stleon opened this issue 9 years ago • 10 comments

Здравствуйте

У меня вопрос по поводу PostService.

Что значит "Получить мета-информацию постов" в методе get_meta()?

Имеется в виду метки, хабы, дату публикации? Что тогда отдает метод get()?

Спасибо!

stleon avatar Jan 24 '16 09:01 stleon

@stleon емнип, то meta информация это время публикации, рейтинг, кол-во просмотров. Метод get() отдает полный пост.

Rpsl avatar Jan 24 '16 10:01 Rpsl

@Rpsl а метки никак не получить через API?

stleon avatar Jan 24 '16 10:01 stleon

@stleon какие метки? tags_string для поста? Они, обычно, вместе с постом отдаются

Rpsl avatar Jan 24 '16 10:01 Rpsl

@Rpsl понял, спасибо

stleon avatar Jan 24 '16 10:01 stleon

@stleon @Rpsl Еще get_meta() работает со множеством постов, а get() только с одним. Позволяет экономить трафик, в общем.

kafeman avatar Jan 24 '16 18:01 kafeman

А как быстро вам выдали ID клиента и токен?

stleon avatar Jan 26 '16 06:01 stleon

Когда мы попросили доступ к API, его еще не было. Так что можно сказать, что долго...

Судя по вашему Github, API нужен вам для анализа Хабра. Т.е. речь идет о desktop-приложении, а не о веб. Я не могу прямо ткнуть вас носом, но получить client_id и access_token для своего аккаунта ну оооочень просто, там баг by-design, его никак не исправить. Дальше смотрите официальный клиент - https://github.com/thematicmedia/habrahabr_api. Реализовано в нем даже больше, чем описано в документации.

kafeman avatar Jan 26 '16 11:01 kafeman

Официально токены вообще не выдают, так что ну вы поняли.

Кстати, мне кажется, что для анализа проще хабр парсить (e.g., bs+requests), чем пользоваться API (если это разово). У API есть ограничения на количество и\или частоту запросов?

p.s. если нужно что-то конкретное, вполне возможно оно уже где-то кем-то когда-то было собрано и возможно стоит это просто хорошо поискать.

SergeyParamonov avatar Jan 26 '16 14:01 SergeyParamonov

Как это токены не выдают? Давайте определимся с терминологией:

  • client - идентификатор приложения. Официально не выдается, но легко извлекается из страницы запроса прав доступа. Или покопайтесь в официальном мобильном приложении, легко найдете. Он, конечно, спрятан, и grep вам не поможет, но поиск его доставит вам массу удовольствий.
  • secret - некий секрет, в настоящей реализации используемый только для обмена кода подтвержения на токен доступа. Его можно получить только официально, но для standalone-приложений он вам не нужен, курите спецификацию OAuth 2.0.
  • token - позволяет серверу Хабра идентифицировать пользователя. Токен выдается любому пользователю, который нажмет "Разрешить" в диалоге запроса прав доступа. Собственно, только он и client - все, что вам нужно, чтобы использовать API.

Ограничение на количество запросов, возможно, есть, но мы в него пока ни разу не упирались. Мне даже кажется, что его еще просто не сделали (все-таки, API пока закрытый).

В общем, кто ищет, тот всегда найдет. И не забывайте, что за этим тредом следит @Rpsl ;-)

kafeman avatar Jan 26 '16 15:01 kafeman

🕵

Rpsl avatar Jan 26 '16 15:01 Rpsl