2013-06-30 2 views
1

Итак, из tweepy документации я должен быть в состоянии пользователь api.me(), чтобы получить список друзей, которых выполняет пользователь: http://pythonhosted.org/tweepy/html/api.html#user-methods Во-первых, я сделал обычный OAuth танец:tweepy api.me() не возвращает пользовательские объекты друзей

import tweepy 
consumer_token='#####' 
consumer_secret='$$$$$' 
access_token='&&&&&' 
access_token_secret='****' 
auth = tweepy.OAuthHandler(consumer_token, consumer_secret) 
auth.set_access_token(access_token,access_token_secret) 
api = tweepy.API(auth) 
daysinn_friends=api.me('DaysInnCanada') 

А потом питон дал мне ошибку говоря:

Traceback (most recent call last): 
File "<pyshell#40>", line 1, in <module> 
daysinn_friend=api.me('DaysInnCanada') 
TypeError: me() takes exactly 1 argument (2 given) 

Но я не прошел 2 аргумента в меня(), единственным аргументом был screen_name. Я действительно смущен и не мог понять. Спасибо

ответ

2

Параметр «лишний», который вас сбивает с толку, это параметр Python self. Я уже написал длинное объяснение self в https://stackoverflow.com/a/16259484/2314532, поэтому вместо того, чтобы повторять его, я просто укажу вам на этот ответ. Если после прочтения, что вы все еще не понимаете, что происходит, дайте мне знать, и я посмотрю, смогу ли я объяснить дальше.

Также, глядя на документацию API для tweepy, me() не должен принимать никаких параметров, и вы передаете его один. От взгляда на ваш код, я подозреваю, что вы действительно хотели сделать, это позвонить api.followers("DaysInnCanada"). Или, может быть, api.get_user("DaysInnCanada"), но я подозреваю, что вы хотели использовать followers.

0

ОП хочет получить список своих друзей (т. Е. Людей, которых он следит), а не людей, которые следуют за ним.

friends = api.friends_ids('DaysInnCanada') 
obj = api.lookup_users(user_ids=friends) 
for name in obj: 
    print name.screen_name 

Для получения списка всех атрибутов, связанных с <tweepy.Models.User object>, используйте name.__getstate__()

+1

Это приводит к 'tweepy.error.TweepError: [{ 'сообщение': 'Слишком много терминов, указанных в запросе',«код ': 18}] ' – koogee

Смежные вопросы