Python — Tweepy — Как использовать lookup_friendships?

#python #twitter #tweepy

#python #Twitter #tweepy

Вопрос:

Я пытаюсь выяснить, слежу ли я за пользователем, от которого потоковый API только что получил твит. Если я этого не сделаю, то я хочу подписаться на него.

У меня есть что-то вроде:

 def checkFollow(status):
    relationship = api.lookup_friendships("Privacy_Watch_",status.user.id_str)
  

Оттуда, как мне проверить, подписан ли я на этого пользователя уже?

Комментарии:

1. Эта функция должна делать то, что вы хотите.

2. Привет, спасибо! Я читал, что эта функция устарела, но документ не обновляется. Разве это не так?

3. О, вы правы . Моя ошибка.

Ответ №1:

Метод lookup_friendships будет возвращать всех, на кого вы подписаны при каждом вызове, блоками по 100 пользователей. Если вы подписаны на много людей, это будет крайне неэффективно и потребует много запросов.

Вместо этого вы можете использовать метод show_friendship, он вернет JSON, содержащий информацию о ваших отношениях с предоставленным идентификатором.

Я не могу протестировать это прямо сейчас, но следующий код должен делать то, что вы хотите:

 def checkFollow(status):
    relation = api.show_friendship(source_screen_name=your_user_name, target_screen_name=status.user.id_str)
    if relation.target.following: #I'm not sure if it should be "target" or "source" here
        return True
    return False
  

Комментарии:

1. Привет! Спасибо, похоже на решение. Я проверю это и сообщу, как это происходит.