#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. Привет! Спасибо, похоже на решение. Я проверю это и сообщу, как это происходит.