2011-06-11 11 views
18

मैंने कई कंपनियां ट्विटर लॉटरी जैसी चीजें देखी हैं जहां उपयोगकर्ताओं को अपने ट्वीट को फिर से ट्वीट करना होगा और फिर एक ट्वीटर्स को पुरस्कार या जो कुछ भी मिलेगा। मैं अब सोच रहा था कि वे सभी रिटविटर्स की सूची कैसे प्राप्त करते हैं या विजेता चुनते हैं?ट्विटर पर सभी रिट्यूटर्स की सूची कैसे प्राप्त करें?

मैंने ट्विटर एपीआई की जांच की और केवल यह चीज़ पाई: GET statuses/retweets/:id लेकिन यह अधिकतम 100 रिटविटर्स लौटाता है। क्या यह एकमात्र तरीका है?

+1

मैं जानता हूँ कि Favstar ऐसा करने का कोई रास्ता नहीं है, लेकिन मैं सोच रहा हूँ अगर वे इसे मतदान से करते हैं। जैसे http://favstar.fm/users/hipsterhacker/status/78530718464094210 –

उत्तर

16

ऐसा लगता है कि वहां लगभग दो सेवाएं हैं जो लगभग बिल्कुल ही कर रही हैं। एक त्वरित Google http://onekontest.com/ खींचता है और कुछ अन्य ट्विटर प्रतियोगिता सेवाएं हैं, लेकिन वे सभी टूटी हुई अलग-अलग स्तर लगते हैं क्योंकि उन्होंने एपीआई में बदलावों को नहीं रखा है।

जहां तक ​​ट्विटर एपीआई स्वयं चिंतित है, यदि आप 100 से अधिक प्रतिक्रियाओं की अपेक्षा कर रहे थे, तो मुझे लगता है कि GET statuses/mentions का उपयोग सबसे अधिक समझ में आता है। वह एपीआई कॉल किसी उपयोगकर्ता का कोई उल्लेख देता है, और आप अपने ट्वीट्स के किसी भी रिवर्ट को शामिल करने के लिए ध्वज include_rts पास कर सकते हैं। फिर, यदि आप किसी विशिष्ट ट्वीट के आरटी को सूचीबद्ध करना चाहते हैं, तो आप यह देखने के लिए लौटाए गए डेटा में in_reply_to_status_id फ़ील्ड देख सकते हैं कि यह मूल ट्वीट आईडी से मेल खाता है या नहीं। यह एपीआई कॉल केवल एक बार में 800 की पिछली 800 स्थिति देता है, इसलिए यदि आप डेटा के समूह की अपेक्षा करते हैं, तो आपको सभी ट्वीट्स प्राप्त करने के लिए बार-बार एपीआई को मतदान करना होगा। मुझे लगता है कि फेवास्टार जैसी सेवाएं बिल्कुल बड़े पैमाने पर कर रही हैं।

यदि आप वास्तव में ऐसा कुछ करने के लिए कोड की तलाश में हैं, तो मैंने twitter-rss-digest नामक एक सिनात्रा ऐप लिखा है जो विभिन्न प्रकार के प्रश्नों को ट्रैक करने के लिए ट्विटर से समय पर पूछताछ करता है। यह बहुत मोटा है, और यह विशेष रूप से इसे संभाल नहीं करता है, लेकिन अगर आप कुछ कोड करना चाहते हैं तो यह आपको सही दिशा में इंगित कर सकता है।

+0

बहुत विस्तृत और विशिष्ट!मेरा प्रश्न पूरी तरह से मुझे लगता है जवाब। इसे समझाने के लिए धन्यवाद! :) – Rihards

+0

यह एक अच्छा हैक है! :-) – aalaap

+1

लेकिन जीईटी स्थिति/उल्लेख केवल प्रमाणीकरण उपयोगकर्ता के लिए काम करता है। तो इस हैक के साथ हम केवल ट्वीटर्स की सूची पा सकते हैं अगर हमने ट्वीट पोस्ट किया है। क्या एक ट्वीट से रीटिटर्स की सूची प्राप्त करने का कोई और तरीका है जो हमारे व्यक्तिगत खाते से संबंधित नहीं है? – salvador

2

मुझे मफिनिस्टा की विधि पसंद है, लेकिन मुझे लगता है कि अगर आप रीट्वीट की 100% पूरी सूची चाहते हैं, तो बस रीटिट ईमेल अधिसूचनाएं सक्षम करें और एक स्क्रिप्ट लिखें जो विषय से मेल खाने वाले लोगों के लिए ईमेल बॉक्स को पोस्ट करती है "आपके ट्वीट्स में से एक को फिर से ट्वीट किया गया! " और डेटा को एक टेबल में डाल दें। शुरुआत से यह सही करो।

5

API पद्धति है कि 100 प्रविष्टियों एक cursored संग्रह (ताकि आप इसे माध्यम से पेज अधिक प्राप्त करने के लिए कर सकते हैं) की अप करने के लिए रिटर्न नहीं है।

ट्विटर डेवलपर साइट पर GET statuses/retweeters/ids पर और जानकारी है, हालांकि आप अपने पृष्ठ को Using cursors to navigate collections पर भी पढ़ना चाहेंगे।

जोड़ने के लिए संपादित: जिसके अनुसार, डेवलपर्स साइट है कि एक त्वरित गूगल में सामने पर पहले धागा एक ट्विटर कर्मचारी कह @episod, गया है:

आप की संभावना के सभी के लिए नहीं मिल सकता है उन्हें। डेटा फैल गया है। आपकी सबसे अच्छी शर्त रीस्ट एपीआई का उपयोग करने के लिए आरईएसटी एपीआई का उपयोग करना है, लेकिन डेटा अभी भी बाधित होगा।

रीस्ट को ट्रैक करना सबसे आसान है क्योंकि वे अतीत से उन्हें खोजने की कोशिश करते हैं। इसके लिए Streaming API का उपयोग करें।

स्रोत: how to get all retweet of a given tweet

संबंधित मुद्दे