Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python twitter找到跟踪请求的用户_Python_Twitter_Python Twitter - Fatal编程技术网

如何使用python twitter找到跟踪请求的用户

如何使用python twitter找到跟踪请求的用户,python,twitter,python-twitter,Python,Twitter,Python Twitter,我试图通过python twitter库跟踪列表中的某个用户。但对于某些用户,我会出现“您已经请求遵循用户名”错误。这意味着我已经向该用户发送了以下请求,因此我不能再这样做。所以我如何控制用户,我发送了以下请求。还是有其他方法来控制它 for userID in UserIDs: api.CreateFriendship(userID) 编辑:我正在总结:你可以在需要的时候关注一些用户。但有些人不这么认为。首先你必须发送友谊请求,然后他/她可能会接受或不接受。我想了解的是,如何列出请求

我试图通过python twitter库跟踪列表中的某个用户。但对于某些用户,我会出现“您已经请求遵循用户名”错误。这意味着我已经向该用户发送了以下请求,因此我不能再这样做。所以我如何控制用户,我发送了以下请求。还是有其他方法来控制它

for userID in UserIDs:
    api.CreateFriendship(userID)

编辑:我正在总结:你可以在需要的时候关注一些用户。但有些人不这么认为。首先你必须发送友谊请求,然后他/她可能会接受或不接受。我想了解的是,如何列出请求的用户。

这里有两个选项:

  • 在循环之前调用
    GetFriends

    users = [u.id for u in api.GetFriends()]
    for userID in UserIDs:
        if userID not in users:
            api.CreateFriendship(userID)
    
  • 使用
    尝试/排除

    for userID in UserIDs:
        try:
            api.CreateFriendship(userID)
        except TwitterError:
            continue
    

希望这能有所帮助。

这个问题提出已经快三年了,但当你在谷歌上搜索这个问题时,它显示为最热门的问题,因此作为参考

在这篇文章中,PythonTwitter仍然是这样(即PythonTwitter无法直接识别未决的友谊或追随者请求)

也就是说,可以扩展API类来实现它。此处提供了一个示例:

相关片段:

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',[])

我想学习的是,我如何看待被请求的用户。不是我公认的朋友。但第二种选择是可行的,我认为使用twitter API无法获取未决的友谊请求。所以,是的,你应该选择第二种选择。