2012-11-07 15 views
5

के साथ एक ट्वीट पोस्ट करने के लिए कैसे मुझे मीटियर और ट्विटर के साथ एक छोटी सी समस्या है। मैं बस एक बटन पर क्लिक के माध्यम से एक ट्वीट पोस्ट करना चाहता हूं। इसके लिए मुझे अपने आप को ओथ पर Twitterservice पर प्रमाणित करना होगा।Meteor.js, ट्विटर और Oauth

फिलहाल मैं क्लाइंट से सर्वर और पीछे आने वाले वास्तव में जटिल तरीके से प्रमाणीकरण कर रहा हूं। लेकिन अब मुझे फ़ंक्शन Meteor.loginWithTwitter मिला। मूल रूप से मैंने सोचा कि यह फ़ंक्शन केवल ट्विटरकी के साथ आपके अपने एप्लिकेशन में लॉग इन करने के लिए है, अब मैं अब इतना निश्चित नहीं हूं। शायद मैं इसे अपनी समस्या के लिए भी इस्तेमाल कर सकता हूं। क्योंकि ऐसा लगता है कि ओथ-प्रोसेस पूरी तरह से (और एक सरल तरीके से) उल्का में लागू है।

अफसोस की बात है कि मुझे लॉग इन करने और अंतिम oauth_token प्राप्त करने के लिए कोई दस्तावेज या उदाहरण नहीं मिल रहा है।

Erromessage: Accounts.ConfigError {संदेश: "सेवा कॉन्फ़िगर नहीं"}

Meteor.loginWithTwitter(function(err){ 
    if (err){ 
    console.log(err) 
    }else{ 
    console.log("yeah"); 
} 
}); 

मैं जानता हूँ कि मैं भी दर्ज करने की और इसलिए सब मैं वापस तो मैं निम्नलिखित कोड की कोशिश उल्का से मिला है, इस त्रुटिसंदेश है उपभोक्ता कुंजी की तरह कहीं मेरी पहचान, लेकिन मुझे नहीं पता कि कहां है। क्या कोई मेरी मदद कर सकता है और मेरे लिए कुछ उदाहरण जानता है? या जानता है कि मैं सही रास्ते पर भी हूं?

धन्यवाद और बधाई फिलिप

उत्तर

6

ऐसा करने का सबसे आसान तरीका:

meteor add accounts-ui accounts-twitter 

पहली शुरुआत पर और अपने टेम्पलेट में क्या

{{loginButtons}} 

: खातों-ui पैकेज जोड़ें एप्लिकेशन के, लॉगिन बटन पर एक क्लिक आपको सेटअप प्रक्रिया के माध्यम से मार्गदर्शन करेगा। आप एक ट्विटर एप्लिकेशन बनायेंगे और उपभोक्ता कुंजी और उपभोक्ता रहस्य को एक रूप में कॉपी करेंगे, जो उल्का आपको प्रस्तुत करता है। बाद में आप ट्विटर का उपयोग कर लॉग इन कर सकते हैं।

नवीनतम उल्का संस्करण (इस समय 0.5.2)

+1

इस जवाब अब पुरानी हो चुकी यह 'होना चाहिए {{> loginButtons}} है' – pahan

1

आप भी अपने उपभोक्ता कुंजी और कोड के साथ गुप्त विन्यास कर सकते हैं का उपयोग सुनिश्चित करें, इस weibo साथ एक उदाहरण है, लेकिन चहचहाना के लिए, गूगल आदि अपने काम है ... (सर्वर साइड):

// first, remove configuration entry in case service is already configured 
Accounts.loginServiceConfiguration.remove({ 
    service: "weibo" 
}); 
Accounts.loginServiceConfiguration.insert({ 
    service: "weibo", 
    clientId: "1292962797", 
    secret: "75a730b58f5691de5522789070c319bc" 
}); 
1

आप को जोड़ने के लिए क्या @ Tom31 अपने सर्वर साइड, यानी में सुझाव की जरूरत है, मैं एक/सर्वर/सर्वर की है।js

Accounts.loginServiceConfiguration.remove({"service": "twitter"}); 
Accounts.loginServiceConfiguration.insert({ 
"service": "twitter", 
"consumerKey" : "<yours>", 
"secret" : "<yours>" 
}); 

अंत में, अपने पहुँच टोकन डेटाबेस पर अपने उपयोगकर्ता में जमा हो जाती हैं लेकिन यह जानकारी यह ग्राहक के लिए प्रचारित नहीं किया गया है और, यदि आप इसे करने के लिए उपयोग करना चाहते हैं, आप एक सर्वर साइड विधि बनाने के लिए नए और के माध्यम से Meteor.call या Meteor.apply

अपडेट किया गया इसे उपयोग: मेरे सर्वर साइड विधि का उदाहरण

मैं इस तरह मेरे सर्वर साइड विधि बना लिया है:

Meteor.methods({ 
... 
    userGet: function(id) { 
    return removeSensibleFields(Meteor.users.findOne({ _id: id })); 
    } 
... 
}); 

जहां removeSensibleFields सभी अनावश्यक/निजी जानकारी है कि ग्राहक

+0

आप प्रदान कर सकते हैं करने के लिए वापस नहीं भेजा जा सकता है दूर करने के लिए एक विधि है सर्वर साइड विधि कैसा दिखता है इसका एक उदाहरण? – Rico

+0

मेरी पोस्ट अपडेट की गई – bitIO

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