簡體   English   中英

如何進行電報MTProto協議api調用?

[英]How does one make a Telegram MTProto protocol api call?

例如,調用/包裝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));  
}  

我得到這個異常(和內部異常)

基礎連接已關閉:發送時發生意外錯誤。 (身份驗證失敗,因為遠程方已關閉傳輸流。)

您開始使用此SO帖子

您首先需要了解如何生成AuthKey

Telegram-API文檔的編寫不是很好,但是如果您繼續研究它,最終會得到幫助。

通過生成AuthKey可以幫助您建立模式和函數,然后可以使用它們來解決API的其余部分

干杯。

如果嘗試通過Web瀏覽器訪問https://149.154.167.40 ,則可以看到未啟用https協議。 如果您在此處查看 ,則有一個實現https的子域列表,您可以嘗試使用其中一個進行api請求。 由於CROSS-ORIGIN策略的緣故,我不太確定電報會阻止您的請求,因為響應中存在access-control-allow-origin:*標頭。 如果這樣不起作用,您可以像android應用程序在這里一樣實現自己的握手。 希望對您有所幫助。

使用TLSharp 要驗證用戶身份,只需運行以下代碼

   var hash = await client.SendCodeRequest(phoneNumber);

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

   var user = await client.MakeAuth(phoneNumber, hash, code); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM