2013-06-16 5 views
6

मुझे उदाहरण के साथ समान उपभोक्ता कुंजी और गुप्त लेकिन अलग-अलग उपयोगकर्ता स्तर तक पहुंच टोकन के साथ उदाहरण बनाने में सक्षम होना चाहिए।twitter4j लाइब्रेरी के साथ कई ट्विटर उदाहरण होने के बाद।

मानक ट्विटर ओएथ साइन इन प्रोटोकॉल का उपयोग करके मैंने अपने ऐप के उपभोक्ता प्रमाण-पत्रों के आधार पर 10 उपयोगकर्ताओं के लिए एक्सेस टोकन पहले से ही प्राप्त कर लिया है। अब, मैं अलग-अलग Accesstoken के साथ आरंभ किए गए ट्विटर इंस्टेंस की एक सूची बनाना चाहता हूं। हालांकि, मैं ऐसा करने में सक्षम नहीं हूं।

भ्रम का मेरा मुख्य कारण यह है कि, मुझे नहीं पता कि कैसे Twitter4j ट्विटर उदाहरणों को तुरंत चालू करता है। मुझे TwitterFactory.getSingleton() विधि और TwitterFactory().getInstance() विधि के बीच का अंतर नहीं समझा।

मुझे यह भी समझ में नहीं आता कि क्या AccessTokens उपभोक्ता कुंजी और गुप्त आपूर्ति किए बिना स्वतंत्र रूप से काम कर सकता है। या मुझे Accesstokens का उपयोग करते समय उपभोक्ता कुंजी और रहस्य प्रदान करने की आवश्यकता है।

यदि कोई मेरी आवश्यकता के लिए डिज़ाइन में विस्तार से समझा सकता है तो इसकी अत्यधिक सराहना की जाएगी।

उत्तर

9

संक्षेप में, आप इस तरह कोड कर सकते हैं:

TwitterFactory tf = new TwitterFactory(); 
Twitter user1 = tf.getInstance(new AccessToken("XXX","XXX")); 
Twitter user2 = tf.getInstance(new AccessToken("XXX","XXX")); 

एक ट्विटर उदाहरण केवल एक ही खाता संभाल कर सकते हैं। एकाधिक खातों से निपटने के लिए, आपको ट्विटर फ़ैक्टरी # getInstance (AccessToken) के साथ कई ट्विटर उदाहरणों को तुरंत चालू करने की आवश्यकता है;

हार्ड-कोडिंग उपभोक्ता कुंजी/रहस्य का सुझाव नहीं दिया गया है और आप उन्हें twitter4j.properties में निर्दिष्ट करना चाह सकते हैं। http://twitter4j.org/en/configuration.html#fileconfiguration

+0

मैं पूरे ऐप में एक ही ट्विटर उदाहरण चाहता हूं; कुछ कारणों से, उस उदाहरण को एप्लिकेशन क्लास के अंदर रखने के बाद, जब मैं इसे किसी भिन्न गतिविधि से कॉल करने का प्रयास करता हूं तो यह दुर्घटनाग्रस्त हो जाता है। क्या मुझे एक्सेस टोकन स्टोर करने की आवश्यकता है और फिर ट्विटर का एक नया उदाहरण प्राप्त करने के लिए इसे बाद में उपयोग करें? धन्यवाद – Eenvincible

4

अरे यह थोड़ा और गुगल मुझे 100 प्रतिनिधि बचाएगा।

चलो स्पष्ट हो जाएं: Twitter और TwitterStream उदाहरणों के बीच एक अंतर है। Twitter उदाहरणों में वास्तव में एक उपभोक्ता कुंजी + गुप्त और एकाधिक ओथ टोकन हो सकते हैं। वह ओपी द्वारा सवाल का जवाब है।

अब, Twitterstream उदाहरणों के लिए (जो ट्विटर स्ट्रीमिंग एपीआई तक पहुंचने के लिए आवश्यक हैं), यह अलग है। आपके पास केवल हो सकता है एक ट्विटरस्ट्रीम ओजबेक्ट किसी दिए गए समय पर चल रहा है, कई नहीं, भले ही उनके पास अलग OAuth टोकन हों।

dev.twitter.com के अनुसार

,

आप सबसे अच्छा "एक खाते, एक आवेदन, एक खुले कनेक्शन" की अवधारणा के लिए चिपके द्वारा कार्य किया जाएगा, जब stream.twitter.com अंतिम बिंदुओं को जोड़ने। यदि अन्य विशिष्ट अनुप्रयोग हैं, तो आप stream.twitter.com के साथ उपयोग करने की योजना बना रहे हैं, तो मैं इसके लिए समान 1: 1: 1 अवधारणा का पालन करने का प्रयास करूंगा।

आपको कभी-कभी stream.twitter.com आप अधिक खुले कनेक्शनों यहां या वहां के साथ भाग प्राप्त करने देता है पर पा सकते हैं कि, लेकिन वह व्यवहार पर नहीं गिना जाना चाहिए।

मैं यूसुके यामामोतो को बक्षीस देता हूं क्योंकि उसने पहले सही उत्तर प्रदान किया था, और यदि यह आपके लिए चीजों को स्पष्ट करता है तो इसे भी ऊपर उठाने पर विचार करें! ;-)

+4

ट्विटर 4J के लेखक भी मदद करते हैं;) – piratemurray

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