Як отримати api_id та api_hash для Telegram
Як отримати api_id та api_hash Telegram: обидва значення безкоштовно видає my.telegram.org за дві хвилини. Навіщо вони й чому в кожної установки своя пара.
6 хв читання
Ваші api_id та api_hash видає Telegram, а не TelegramBuddy. Увійдіть на my.telegram.org за своїм номером телефону, відкрийте API development tools, заповніть коротку форму з описом програми, якою ви користуєтеся, — і сторінка видасть вам дві речі: число під назвою api_id і рядок із 32 символів під назвою api_hash. Вставте обидва значення у вікно першого запуску TelegramBuddy — і на цьому налаштування завершено. Значення зберігаються на вашому власному комп’ютері, і більше їх у вас не запитають.
Це коротка відповідь. Далі на цій сторінці — що саме являють собою ці два значення, чим вони не є, чому програма не може постачатися з уже вписаною парою і що робити, якщо форма на сайті Telegram завдає вам клопоту.
Що таке api_id та api_hash насправді
Telegram публікує API: задокументований набір інструкцій, який дозволяє іншим програмам звертатися до його мережі напряму — так само, як це роблять офіційні застосунки. Той, хто пише таку програму, мусить один раз її зареєструвати. Реєстрація створює пару значень, яка супроводжує кожен запит програми, щоб Telegram міг визначити, яке саме програмне забезпечення на іншому кінці лінії.
Це все, чим вони є. Вони ідентифікують програму, а не вас. У них немає ні вашого імені, ні ваших чатів, ні ваших контактів; це не ліцензія, не підписка й не те, за що ви платите.
Варто точно сказати, чим вони не є:
- Це не пароль від Telegram. Лише за api_id та api_hash ніхто не прочитає ваші повідомлення. Вхід в акаунт — окремий крок, про нього нижче.
- Це не токен бота. Бот — це окремий акаунт із власним окремим набором чатів. TelegramBuddy не бот: він входить як ви й тому бачить саме ті чати, які ви вже бачите.
- Їх видає не TelegramBuddy. Не існує ні акаунта TelegramBuddy, ні сервера TelegramBuddy, тож з нашого боку немає нічого, що могло б видати вам пару чи зберегти копію вашої.
Як отримати api_id та api_hash для Telegram
Увесь процес відбувається на власному сайті Telegram і займає пару хвилин.
- Відкрийте my.telegram.org у будь-якому браузері.
- Введіть свій номер телефону в міжнародному форматі, починаючи з
+і коду країни. - Telegram надсилає код входу повідомленням усередині самого Telegram, а не через SMS. Відкрийте Telegram на телефоні чи комп’ютері, прочитайте код і введіть його на сторінці.
- На сторінці, що з’явиться, натисніть API development tools.
- Заповніть коротку форму (поля описані нижче) і надішліть її.
- Тепер сторінка показує App api_id і App api_hash. Ніхто нічого не перевіряє й не схвалює: значення існують одразу після надсилання форми.
- Скопіюйте обидва у вікно першого запуску TelegramBuddy. Якщо ви закрили вкладку занадто рано, повернення в API development tools знову покаже вам ту саму пару.
Як заповнити форму
Форма питає про застосунок, і це виглядає дивно, коли ви лише намагаєтеся одним із них скористатися. Ніщо тут ні з чим не звіряється, тож прості й чесні відповіді цілком годяться:
- App title і Short name — будь-що, що ви згодом упізнаєте, наприклад
My Downloader. Short name хоче літери й цифри без пробілів. - URL — необов’язково. Залиште порожнім.
- Platform — виберіть Desktop.
- Description — необов’язково. Кілька слів або нічого взагалі.
api_id, вхід в акаунт і токен бота: у чому різниця
Ці три речі постійно плутають, і саме через це екран налаштування зазвичай відмовляється йти далі.
| Що ідентифікує | Звідки береться | Якщо потрапить до когось іншого | |
|---|---|---|---|
| api_id та api_hash | Програму, яка робить запити | my.telegram.org, один раз, безкоштовно | Чужі запити витрачатимуть ваші ліміти швидкості |
| Ваш вхід у Telegram | Вас, власника акаунта | QR-код або код, надісланий у ваш Telegram | Ця людина змогла б читати ваші чати — тому це найважливіше |
| Токен бота | Окремий акаунт бота | BotFather у Telegram | Ця людина керує тим ботом, а це не ваш акаунт |
Чому в кожної установки має бути своя пара
Telegram рахує ліміти швидкості за api_id. Коли програма просить надто багато й надто швидко, Telegram відповідає flood wait — паузою від кількох секунд до кількох хвилин, перш ніж він знову відповідатиме, — і ця пауза прив’язана до того id, який робив запити.
Роздайте один api_id на тисячі установок — і трафік усіх опиниться в одному кошику: одна людина, яка витягує десятиліття відео, гальмує решту, а один обмежений id потягне за собою всі установки. Своя пара тримає ваші ліміти вашими. Це дві хвилини роботи один раз в обмін на те, щоб не залежати від незнайомців. Сторінка завантаження викладає ті самі міркування коротше.
Flood wait — це нормально й очікувано, а не ознака того, що щось зламалося. TelegramBuddy сам їх вичікує й продовжує далі, тому довге масове завантаження можна спокійно залишити без нагляду; продовження перерваних завантажень розповідає, що відбувається, коли передача зупиняється з інших причин.
Якщо ви користуєтеся TelegramBuddy на двох комп’ютерах, окрема пара для кожного не дасть їхнім лімітам накладатися.
Як тримати ці два значення при собі
Ставтеся до api_hash так, як ставилися б до будь-якого ключа. Не публікуйте його ні в темі на форумі, ні у звіті про помилку, ні у відкритому репозиторії коду, а перед тим як поділитися скриншотом вікна налаштування, обріжте або розмийте його. api_id — коротке число й значно менш чутливе, але публікувати жодне з двох немає жодних причин.
Якщо пара таки втекла, шкода обмежена й непряма: чужі запити витрачатимуть ваші ліміти швидкості, тобто завантаження стане повільнішим для вас. Але до ваших повідомлень без входу у ваш акаунт вони все одно не дістануться. Ви можете створити нову пару на my.telegram.org і ввести її замість старої.
На вашій машині значення лежать у налаштуваннях TelegramBuddy, і вони не надсилаються нікуди, крім Telegram, — як частина тих самих запитів, які вони й існують, щоб ідентифікувати.
Вхід в акаунт — це окремий крок
Коли дані на місці, TelegramBuddy просить вас увійти у ваш власний Telegram: або скануванням QR-коду телефоном, або введенням номера телефону й коду, який надсилає Telegram. Цей вхід стає файлом сесії на вашому комп’ютері. Він нікуди не завантажується, бо завантажувати його просто нікуди: програма звертається до Telegram напряму, а завантажені файли пише просто на ваш диск.
Отже, дві половини налаштування виконують різну роботу. api_id та api_hash кажуть, яка програма звертається. Вхід каже, від чийого імені. Ні одне, ні друге не дає нікому доступу до іншого, а розділ питань і відповідей охоплює решту питань про приватність, які зазвичай виникають далі.
Якщо з формою виникають проблеми
- Сторінка показує помилку під час надсилання. Зачекайте трохи й спробуйте знову, найкраще в приватному вікні або в іншому браузері, з вимкненим для цього сайту блокувальником реклами чи скриптів.
- Код входу не приходить. Шукайте його всередині Telegram, а не в теці SMS. Код приходить повідомленням від Telegram у застосунку.
- Програма каже, що дані неправильні. Перевірте, чи не залишився випадковий пробіл на початку або в кінці якогось зі значень. api_id — це лише цифри. api_hash — це рівно 32 символи з літер і цифр.
- Ви не можете знайти, куди поділися значення. Відкрийте API development tools знову на my.telegram.org: застосунок, який ви зареєстрували, досі там разом зі своєю парою.
Наступні кроки
Коли дані введені, а ваш акаунт увійшов, програма може відкрити будь-який чат, учасником якого ви є, — включно з приватними каналами та групами, доступними через посилання-запрошення. Далі ви можете читати всю історію, витягувати медіа масово або експортувати повідомлення чату в HTML чи JSON. Огляд того, що вміє програма, є на сторінці можливостей. Одну річ варто сказати прямо: програма охоче збереже все, що ви бачите, тож зберігайте лише те, що ви маєте право зберігати.