2015-05-18 7 views
8

उदाहरण कॉल करने के लिए के लिए/लपेट auth.sentCode विधि (नीचे दिए गए लिंक):कोई टेलीग्राम एमटीपीआरोटो प्रोटोकॉल एपीआई कॉल कैसे करता है?

https://core.telegram.org/method/auth.sendCode

मैं कोशिश की है:

var url = "https://149.154.167.40"; 
var data = "(auth.sendCode \"PHONE_CODE+NO\" 0 APP_ID \"SECRET_HASH\" \"en\")"; 
using (var wc = new WebClient()) 
{ 
var result = wc.UploadData(url, GetBytes(data)); 
} 

मैं इस अपवाद (और भीतरी अपवाद)

अंतर्निहित कनेक्शन बंद था: पर एक अप्रत्याशित त्रुटि हुई। (प्रमाणीकरण विफल रहा क्योंकि दूरस्थ पार्टी बंद कर दिया है परिवहन स्ट्रीम।)

+0

मुझे इस प्रोटोकॉल के साथ कोई अनुभव नहीं है, लेकिन अधिकांश समय मुझे अपवाद दिखाई देता है जैसे कि यह एक एसएसएल/टीएलएस मुद्दा है। मुझे लगता है कि आप एक हार्ड-कोडित आईपी का उपयोग कर रहे हैं - क्या यह संभव है कि आपका ऐप अस्वीकार कर रहा है कि आपका ऐप अस्वीकार कर रहा है? (वैकल्पिक रूप से: क्या वह एंडपॉइंट निश्चित रूप से https का समर्थन करता है? मुझे http अनुरोधों को http endpoint पर भेजने से समान त्रुटियां मिली हैं।) –

+1

मुझे लगता है कि अब तक कोई उदाहरण नहीं है, केवल गिटहब –

+0

पर अनुमोदित lib है मैंने कुछ कोड पोस्ट किया है (vb.net में) यहां आपको http://stackoverflow.com/a/32809138/44080 शुरू करने के लिए –

उत्तर

2

आप एक this SO post

आप समझते हैं कि कैसे एक AuthKey पहले उत्पन्न करने के लिए की आवश्यकता होगी के साथ आरंभ।

टेलीग्राम-एपीआई दस्तावेज बहुत अच्छी तरह से लिखा नहीं गया है, लेकिन यदि आप इसका अध्ययन करते रहें ... तो अंत में आप इसका हाथ प्राप्त कर लेंगे।

AuthKey पैदा आप एक पैटर्न और कार्यों कि तुम फिर API

चीयर्स के बाकी से निपटने के लिए उपयोग कर सकते हैं का निर्माण करने में मदद मिलेगी के माध्यम से कार्य करना।

1

आप एक वेब ब्राउज़र के माध्यम से https://149.154.167.40 करने तक पहुँचने का प्रयास करते हैं, तो आप देख सकते हैं कि https प्रोटोकॉल सक्षम नहीं है। यदि आप here देखते हैं, तो उपरोक्त की एक सूची है जो https लागू करती है, आप अपने एपीआई अनुरोध करने के लिए उनमें से एक को आजमा सकते हैं। मुझे सच में यकीन नहीं है कि टेलीग्राम क्रॉस-ओरिजिन नीति के कारण आपके अनुरोध को अवरुद्ध करता है, क्योंकि access-control-allow-origin:* हेडर प्रतिक्रिया में मौजूद है। यदि यह काम नहीं करता है, तो आप here में एंड्रॉइड एप्लिकेशन की तरह अपने हैंडशेक को कार्यान्वित कर सकते हैं। उम्मीद है इससे आपको मदद होगी।

1

TLSharp का उपयोग करें। उपयोगकर्ता को प्रमाणीकृत करने के लिए, बस इस कोड को

var hash = await client.SendCodeRequest(phoneNumber); 

    var code = "1234"; //code that you receive from Telegram 

    var user = await client.MakeAuth(phoneNumber, hash, code); 
संबंधित मुद्दे