Xodera Plugins · Bubble Native
Xodera B2 Files Native
Съхранявайте прикачените файлове на приложението във вашето собствено съхранение Backblaze B2. Позволете на упълномощените потребители да качват, разглеждат и изтеглят файлове и изрично да изберат кога файлът може да бъде споделен публично.
Public beta guides · Haptics instructions are in its Bubble listing
Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.
Документацията прегледана 6 ноември 2026
Практически примери
Съхранете прикачен файл към задачата в личното частно кофа на разработчика
Задачата Bubble се нуждае от издръжлив препратка за съхранение, без да се третира изтичащ URL за изтегляне като идентичност на файла.
`bucket_binding_id = an allowed binding to your own private bucket`; динамичните `local_uri`, `display_name`, `mime_type` и `expected_size` описват избрания локален файл.
Планирано: Check local source → Upload file → изчакайте `upload_verified`. След това вашият работен процес съхранява `asset_ref` и метаданни в собствената запис за задача.
Използвайте `asset_ref`, `size_bytes`, `mime_type` и `upload_status`. По-късно Resolve private read може да предостави временно URL за упълномощено използване.
Ако запазването в базата данни се провали след `upload_verified`, опитайте отново актуализирането на БД със същата препратка към ресурс, вместо ново качване. Проверете резултата от `upload_pending`, използвайки Check or recover upload status и същия идентификатор на качване.
Планирано. Вашият B2 акаунт плаща разходите за съхранение и изтегляне.
Създайте собствена галерия за прикачени файлове с издръжливи записи за файлове
Галерията за файлове се нуждае от имена, типове и странициране, както и от начин за отваряне на избрания ресурс по-късно.
Записът File на вашето приложение съхранява приет `asset_ref`, показвано име, MIME и връзка собственик/задача след проверено качване; не използвайте локален URI като облачна идентичност.
Планирано: използвайте List my B2 files за създаване на списъка с прикачени файлове. asset_refs идентифицира файловете; стойностите на същия индекс предоставят техните имена и типове. Изборът на файл предава неговия asset_ref към Get asset metadata или Download accepted version.
`has_more` и `next_cursor` принадлежат към текущата заявка. Завършено изтегляне връща `local_output_uri`; това е локално копие на устройството, а не постоянна публична връзка.
Нулирайте страницирането след промени в свързването/акаунта/заявката. При `transfer_error` запазете съществуващия File Thing и покажете `error_code`; не го заменяйте тихо с друга версия от доставчика.
Планирано. Вашият B2 акаунт плаща разходите за съхранение и изтегляне.
Направете публикуването и изтриването на точната версия умишлени
Персоналът не трябва случайно да разкрие частно прикачване или да изтрие всички версии при замяна на изображение.
`asset_ref = the selected accepted version`; свързването на bucket и разрешенията за файлове в приложението трябва да позволяват исканата операция.
Покажете текущата видимост, поискайте изрично потвърждение, след което изпълнете Change public sharing. За премахване извикайте Delete accepted version с потвърждение; запазете метаданните на приложението, докато не се знае потвърденият резултат.
След `share_changed` използвайте `visibility` и `public_url` само когато публичното споделяне е изрично упълномощено. След `delete_completed` актуализирайте собствения запис File; `delete_pending` не е окончателно изтриване.
Проверете резултата от несигурна операция вместо да приемате успех. Предишно издадени URL за четене от доставчика могат да останат валидни до изтичане; премахването на ред от БД или деактивирането на споделяне не отмяна вече изтеглените байтове.
Планирано. Вашият B2 акаунт плаща разходите за съхранение и изтегляне.
Какво работи сега
Планирана приставка. Все още не е инсталирана или достъпна за използване. Долният наръчник показва предвидения работен процес с файлове.
Създайте работния процес
Планирано
Планиран работен процес. Все още не е наличен в текущата бета версия.
Тези примери използват записи на приложение като Lesson, Message и Order. Заменете ги със свои типове данни и имена на елементи. Примерните медийни адреси трябва да бъдат заменени със свои файлове.
Планирано: в настройките на проекта изберете вашето B2 съхранение и разрешения bucket. Задайте неговата поверителност, префикс на папка и приемливи типове и размери на файловете.
Използвайте List B2 bindings, за да покажете разрешените избори за съхранение. Използвайте List my B2 files, за да покажете файловете на текущия потребител и Get my B2 file info за подробности.
Изберете файл. Задайте bucket_binding_id, local_uri, display_name, mime_type и expected_size, след което изпълнете Upload file. Показвайте напредъка, но изчакайте upload_verified, преди да считате файла за запазен.
Запазете asset_ref във вашия запис на приложението. Използвайте го за Get asset metadata, Resolve private read или Download accepted version. Change public sharing и Delete accepted version изискват отделно потвърждение.
Конфигурирайте еднократно
Активирането на ключ е планирано за тази приставка. Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins. Изберете Xodera B2 Files Native, копирайте неговия ключ, след това отворете Bubble → Plugins → Xodera B2 Files Native и го поставете в project_api_key. Запазете веднъж; след това използвайте действията по-долу. Всяка приставка във всеки проект има свой собствен ключ.
Използвайте вашия собствен акаунт Backblaze B2 и изберете bucket за това приложение. Определете кой може да чете и качва файлове. Съхранявайте имената на съответните потребителски полета да/не в b2_reader_permission_field и b2_writer_permission_field; по подразбиране са b2_files_reader и b2_files_writer. Само упълномощен администратор трябва да променя тези потребителски разрешения.
Конфигурирайте еднократно
- Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins.
- Изберете този плъгин и копирайте неговия проектен ключ.
- Планирано: Отворете Bubble → Plugins → Xodera B2 Files Native; поставете ключа в project_api_key и запазете.
- Добавете елемента, изберете вашите данни за приложението и изградете работния процес по-долу.
- Частен достъп до бета само за сега. Публичната инсталация и платеното активиране все още не са отворени.
Инсталиране и абонамент
For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.
Запазете резултата във вашето приложение
Примерно прикачен файл: asset_ref, свързан доклад/поръчка, собственик, display_name, mime_type и size_bytes. Запазете ги след upload_verified. Използвайте asset_ref, за да отворите файла отново по-късно; временно адрес за четене или път на едно устройство не е постоянна препратка към файл. Ако запазването на записа в базата данни не успее, опитайте отново да запазите този запис, вместо да качвате файла отново.
Неуспех, отказ и възстановяване
Ако резултатът от качването е неизвестен, запазете upload_id и използвайте Check or recover upload status. Не качвайте автоматично друга копия. Отмяната засяга незавършеното прехвърляне, а не вече запазения файл. Ако достъпът изтече, заявете файла отново вместо да използвате стар временно адрес.
Възможности и ограничения
Планиран максимален размер на файл: 256 MiB, или по-ниско ограничение на bucket, което изберете. Таксите за съхранение и изтегляне от Backblaze принадлежат на вашия B2 акаунт. Файловете в публичен bucket са публични, дори когато свързаният запис в приложението е частен. Няма обещание за сканиране за вируси, многочастично качване, пауза или възстановяване след прекратяване на приложението.
Настройки, действия и резултати
Използвайте тези имена в Bubble. Планираните функции са маркирани отделно.
Налични бета настройки
Настройки на елемента
bucket_binding_id · textlocal_uri · textdisplay_name · textmime_type · textexpected_size · numbermetadata_json · textasset_ref · textis_active · yes_nodisabled · yes_nolanguage · textui_text_json · texttitle · textshow_preview · yes_noshow_provider_browse · yes_noСъстояния
status · textis_busy · yes_noupload_id · textupload_status · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numberbytes_sent · numberprogress · numberprogress_indeterminate · yes_notemporary_read_url · textread_expires_at · textlocal_output_uri · textpublic_url · textvisibility · textnext_cursor · texthas_more · yes_noquery_revision · textfiles_json · textbuckets_json · textremote_files_json · textremote_next_cursor · textremote_has_more · yes_noremote_query_revision · textbucket_binding_id · textcleanup_pending · yes_noerror_code · texterror_message · textСъбития
file_selectedupload_startedupload_transport_completedupload_verifiedupload_pendingbuckets_loadedbucket_selectedlist_loadedmetadata_loadedread_resolveddownload_completedshare_changeddelete_completeddelete_pendingbrowse_loadedtransfer_cancelledcleanup_pendingtransfer_errorsession_clearedДействия и техните входове
List allowed bucketsSelect bucket bindingCheck local sourceUpload fileCheck or recover upload statusCancel owned transferClear local sessionList application filesRefresh application filesLoad more application filesSelect asset referenceGet asset metadataResolve private readDownload accepted versionBrowse provider filesChange public sharingDelete accepted versionНастройки на елемента · 14
Планиран работен процес. Все още не е наличен в текущата бета версия.
bucket_binding_idtext · По подразбиране: ""- Примерна стойност
<binding returned by List B2 bindings> - Пример Bubble израз
Selected Binding's binding_id - Изборът за съхранение, върнат от List B2 bindings. Използвайте неговото ID за този файл.
local_uritext · По подразбиране: ""- Примерна стойност
file:///app-cache/attachment.jpg - Пример Bubble израз
Offline Files' local_uri - Четима файлова локация на това устройство. Това не е онлайн връзка за изтегляне.
display_nametext · По подразбиране: ""- Примерна стойност
report-photo.jpg - Пример Bubble израз
Selected Attachment's display_name - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
mime_typetext · По подразбиране: ""- Примерна стойност
image/jpeg - Пример Bubble израз
Photo Editor's output_mime - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
expected_sizenumber · По подразбиране: 0- Примерна стойност
246975 - Пример Bubble израз
Offline Files' size_bytes - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
metadata_jsontext · По подразбиране: ""- Примерна стойност
{"label":"field-report"} - Пример Bubble израз
Selected Attachment's safe_metadata_json - Опционален JSON с информация за приложението, като етикет за доклад. Дръжте го малък и избягвайте лични данни.
asset_reftext · По подразбиране: ""- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
is_activeyes_no · По подразбиране: true- Примерна стойност
yes - Пример Bubble израз
GuideHost's view_is_active (your yes/no custom state) - Задайте да, докато този изглед е отворен. Задайте не при изход, за да може възпроизвеждането или текущата работа да спрат.
disabledyes_no · По подразбиране: false- Примерна стойност
no - Пример Bubble израз
GuideHost's is_busy (your yes/no custom state) - Деактивирайте елемента, докато приложението е заето или това действие не е достъпно.
languagetext · По подразбиране: "auto"- Примерна стойност
uk - Пример Bubble израз
Current User's preferred_language - Задайте language=auto да следва поддържано устройство или език на браузъра. Въведете поддържан код на езика, за да го изберете изрично.
ui_text_jsontext · По подразбиране: ""- Примерна стойност
{} - Пример Bubble израз
App Settings' player_labels_json (supported keys only) - Опционален JSON с поддържани етикети за бутони. Оставете празно, за да се използва вграденият текст.
titletext · По подразбиране: ""- Примерна стойност
Lesson 4 — review - Пример Bubble израз
Selected Lesson's name - Видим текст в приложението; празно използва вграден локализиран текст, където се поддържа. Без идентификационни данни.
show_previewyes_no · По подразбиране: false- Примерна стойност
yes - Пример Bubble израз
App Settings' b2_preview - Показване или скриване на визуализацията на файла.
show_provider_browseyes_no · По подразбиране: false- Примерна стойност
no - Пример Bubble израз
Current User's authorized_browse_UI (presentation only) - Показване или скриване на контролите за разглеждане на хранилището за упълномощени потребители.
Действия и техните входове · 20
Планиран работен процес. Все още не е наличен в текущата бета версия.
List allowed buckets
Няма параметри за действие
Select bucket binding
binding_idtext · По подразбиране: —- Примерна стойност
<returned allowed binding ID> - Пример Bubble израз
Selected Binding's binding_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Check local source
Няма параметри за действие
Upload file
acknowledge_public_bytesyes_no · По подразбиране: —- Примерна стойност
no - Пример Bubble израз
Public bucket disclosure Checkbox is checked (private bucket: no) - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
confirm_retryyes_no · По подразбиране: —- Примерна стойност
no - Пример Bubble израз
Retry Checkbox is checked after confirmed clean pending status - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Check or recover upload status
upload_idtext · По подразбиране: —- Примерна стойност
<original returned upload_id> - Пример Bubble израз
Current UploadIntent's upload_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Cancel owned transfer
Няма параметри за действие
Clear local session
Няма параметри за действие
List application files
Няма параметри за действие
Refresh application files
Няма параметри за действие
Load more application files
Няма параметри за действие
Select asset reference
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
Get asset metadata
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
Resolve private read
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
Download accepted version
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
Browse provider files
prefixtext · По подразбиране: —- Примерна стойност
"" - Пример Bubble израз
Authorized Browse Settings' prefix - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
load_moreyes_no · По подразбиране: —- Примерна стойност
no - Пример Bubble израз
Load More button only, for unchanged query - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Change public sharing
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
enabledyes_no · По подразбиране: —- Примерна стойност
no - Пример Bubble израз
Public Share Checkbox is checked after separate confirmation - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
confirmyes_no · По подразбиране: —- Примерна стойност
yes — explicit confirmation only - Пример Bubble израз
Confirm Checkbox is checked - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Delete accepted version
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
confirmyes_no · По подразбиране: —- Примерна стойност
yes — explicit confirmation only - Пример Bubble израз
Confirm Checkbox is checked - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
List B2 bindings
environmenttext · По подразбиране: —- Примерна стойност
development - Пример Bubble израз
App Settings' selected_environment - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Връщания
ok · yes/nostatus · texterror_code · textbinding_ids · text listlabels · text listprivacy · text listmax_size_bytes · number listList my B2 files
environmenttext · По подразбиране: —- Примерна стойност
development - Пример Bubble израз
App Settings' selected_environment - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
binding_idtext · По подразбиране: —- Примерна стойност
<returned allowed binding ID> - Пример Bubble израз
Selected Binding's binding_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
limitnumber · По подразбиране: —- Примерна стойност
50 - Пример Bubble израз
Gallery Settings' page_size - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
cursortext · По подразбиране: —- Примерна стойност
"" - Пример Bubble израз
Previous List my B2 files result's next_cursor; empty on first page - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Връщания
ok · yes/nostatus · texterror_code · textasset_refs · text listdisplay_names · text listmime_types · text listsize_bytes · number listcreated_ats · text listvisibility · text listpublic_urls · text listprovider_status · text listinspection_status · text listmetadata_labels · text listhas_more · yes/nonext_cursor · textquery_revision · textGet my B2 file info
environmenttext · По подразбиране: —- Примерна стойност
development - Пример Bubble израз
App Settings' selected_environment - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
binding_idtext · По подразбиране: —- Примерна стойност
<returned allowed binding ID> - Пример Bubble израз
Selected Binding's binding_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
asset_reftext · По подразбиране: —- Примерна стойност
<returned asset_ref> - Пример Bubble израз
Selected B2Asset's asset_ref - Стабилна непрозрачна идентичност на приет актив от услугата. Изборът му никога не заобикаля потребителското упълномощаване.
Връщания
ok · yes/nostatus · texterror_code · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numbercreated_at · textvisibility · textpublic_url · textprovider_status · textinspection_status · textmetadata_label · textСъстояния и събития
Планиран работен процес. Все още не е наличен в текущата бета версия.
Състояния
status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
is_busy · yes_noРаботата все още е в процес. Изчакайте преди да започнете друга операция.
upload_id · textИдентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.
upload_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
asset_ref · textИдентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.
display_name · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
mime_type · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
size_bytes · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
bytes_sent · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
progress · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
progress_indeterminate · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
temporary_read_url · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
read_expires_at · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
local_output_uri · textМестоположение на файла на това устройство. Запазете или качете файла отделно, ако трябва да остане онлайн.
public_url · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
visibility · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
next_cursor · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
has_more · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
query_revision · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
files_json · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
buckets_json · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
remote_files_json · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
remote_next_cursor · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
remote_has_more · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
remote_query_revision · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
bucket_binding_id · textИдентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.
cleanup_pending · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
error_code · textИнформация за грешка от последното действие. Показвайте полезно съобщение и предложете съответното повторение.
error_message · textИнформация за грешка от последното действие. Показвайте полезно съобщение и предложете съответното повторение.
Събития
file_selectedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_startedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_transport_completedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_verifiedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_pendingКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
buckets_loadedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
bucket_selectedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
list_loadedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
metadata_loadedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
read_resolvedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
download_completedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
share_changedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
delete_completedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
delete_pendingКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
browse_loadedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
transfer_cancelledКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
cleanup_pendingКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
transfer_errorКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
session_clearedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
Въпроси, които задават разработчиците
Мога ли да запазя временния URL за четене като мой файл?
Не. Запазете asset_ref и каноничните метаданни. Преавторизирайте четенията; пътят за изтегляне от устройството не е файл Bubble.
Как работи абонаментът?
Планирани цени: инсталирането на плъгина в Bubble е безплатно. Достъпът до BestPlugins е отделен абонамент за всеки плъгин във всеки Bubble проект на приложение: 7 дни безплатно, след това US$1.50 на месец. Development и Live са включени. Няма фиксиран лимит за броя операции; ограниченията за размер на файлове и функции все още важат. Плащането все още не е отворено. Екранът за активиране ще покаже първата дата на фактуриране и условията за анулиране.
Свързани ръководства
Marketplace – предстоящо издание
Ръководството за форума не е публикувано
За помощ, кажете ни кой плъгин и устройство използвате, действието, което опитахте, и какво се случи. Използвайте пример без лични данни. Никога не споделяйте вашия ключ или частни файлове.