私はお気に入りのツイートをお気に入りに追加したユーザーについての情報を得ようとしていますが、ドキュメントで見つけることはできません。Twitter API:ユーザーIDを取得するにはどうすればいいですか?
Twitterがこれを行うことはできませんが、このメソッドはAPIとして提供されません。
私はお気に入りのツイートをお気に入りに追加したユーザーについての情報を得ようとしていますが、ドキュメントで見つけることはできません。Twitter API:ユーザーIDを取得するにはどうすればいいですか?
Twitterがこれを行うことはできませんが、このメソッドはAPIとして提供されません。
短い答え:これを完全に行うことはできません。
長い答え:これは何らかの努力で行うことができますが、完璧に近づくことはありません。 twitter apiを使用して、最大4000のユーザーIDの活動を監視することができます。あなたが監視している4k人のうちの1人によってツイートが作成された場合、そのツイートに好意を持った人々を含むすべての情報を得ることができます。これはまた、監視する人に関するすべての情報をデータベースにプッシュする必要があります(私はmongodbを使用します)。次に、あなたのツイートに関する情報をデータベースに問い合わせることができます。
私は短い答えが好きです。もしTwitterが私にお気に入りを見せたくなければ、それは私のトラブルではなく、apiの問題です。 – gaussblurinc
https://dev.twitter.com/docs/api/1.1/get/favorites/listを使用して、ユーザーの最新のお気に入り20件を取得し、その中の自分のツイートを検索することができます。しかし、これはわずか20を返すので、これは非常に限られています。 – Amitash
ええ、私はすべてのユーザーIDを取得できません。私は 'statuses/favorites/users'のような方法が必要です – gaussblurinc
あなたが探しているツイートにmax_idを設定したエンドポイントのお気に入り/リストを使用してください。
どうやら、これを行うための唯一の方法は、現時点ではそうのように、Webサーバから直接get the infoになっている。
import urllib2
from lxml.html import parse
#returns list(retweet users),list(favorite users) for a given screen_name and status_id
def get_twitter_user_rts_and_favs(screen_name, status_id):
url = urllib2.urlopen('https://twitter.com/' + screen_name + '/status/' + status_id)
root = parse(url).getroot()
num_rts = 0
num_favs = 0
rt_users = []
fav_users = []
for ul in root.find_class('stats'):
for li in ul.cssselect('li'):
cls_name = li.attrib['class']
if cls_name.find('retweet') >= 0:
num_rts = int(li.cssselect('a')[0].attrib['data-tweet-stat-count'])
elif cls_name.find('favorit') >= 0:
num_favs = int(li.cssselect('a')[0].attrib['data-tweet-stat-count'])
elif cls_name.find('avatar') >= 0 or cls_name.find('face-pile') >= 0:#else face-plant
for users in li.cssselect('a'):
#apparently, favs are listed before retweets, but the retweet summary's listed before the fav summary
#if in doubt you can take the difference of returned uids here with retweet uids from the official api
if num_favs > 0:#num_rt > 0:
#num_rts -= 1
num_favs -= 1
#rt_users.append(users.attrib['data-user-id'])
fav_users.append(users.attrib['data-user-id'])
else:
#fav_users.append(users.attrib['data-user-id'])
rt_users.append(users.attrib['data-user-id'])
return rt_users, fav_users
#example
if __name__ == '__main__':
print get_twitter_user_rts_and_favs('alien_merchant', '674104400013578240')
はhttps://stackoverflow.com/questions/を見ます28982850/twitter-api-getting-list-of-users-who-favorited-a-status – sovon