我正在尝试使用python-twitter库跟踪列表中的某些用户。但我正在采取“你已经要求关注用户名”错误的一些用户。这意味着我已向该用户发送了以下请求,因此我无法再次执行此操作。那么如何控制用户,我发送了以下请求。还是有其他方法来控制它。
for userID in UserIDs:
api.CreateFriendship(userID)
编辑:我正在总结:您可以随时关注一些用户。但是有些人不接受它。首先你必须发送友情请求,然后他/她可能接受或不接受。我想学习的是,我如何列出所请求的用户。
答案 0 :(得分:2)
这里有两个选项:
在循环之前调用GetFriends
:
users = [u.id for u in api.GetFriends()]
for userID in UserIDs:
if userID not in users:
api.CreateFriendship(userID)
使用try/except
:
for userID in UserIDs:
try:
api.CreateFriendship(userID)
except TwitterError:
continue
希望有所帮助。
答案 1 :(得分:0)
自从提出这个问题以来已经差不多三年了,但回复参考,因为它显示为Google问题时的最高点。
截至本文时,python-twitter仍然如此(即没有直接的方式使用python-twitter来识别待处理的友情或追随者请求)。
也就是说,可以扩展API类来实现它。这里有一个例子:https://github.com/itemir/twitter_cli
相关摘要:
class ExtendedApi(twitter.Api):
'''
Current version of python-twitter does not support retrieving pending
Friends and Followers. This extension adds support for those.
'''
def GetPendingFriendIDs(self):
url = '%s/friendships/outgoing.json' % self.base_url
resp = self._RequestUrl(url, 'GET')
data = self._ParseAndCheckTwitter(resp.content.decode('utf-8'))
return data.get('ids',[])
def GetPendingFollowerIDs(self):
url = '%s/friendships/incoming.json' % self.base_url
resp = self._RequestUrl(url, 'GET')
data = self._ParseAndCheckTwitter(resp.content.decode('utf-8'))
return data.get('ids',[])