dfreelon / pyktok

A simple module to collect video, text, and metadata from Tiktok.
BSD 3-Clause "New" or "Revised" License
313 stars 43 forks source link

KeyError: 'ItemList' #10

Closed leoleepsyche closed 1 year ago

leoleepsyche commented 1 year ago

hi, sorry for bothering you again.

after solving browser_cookie3, I faced a new problem. When I process the example given by you, it reports problems. the track is listed below. Could you point out the direction for me to solve the problem?


KeyError Traceback (most recent call last) /var/folders/7r/m23jjtm9061g3s067hngxyqr0000gn/T/ipykernel_17743/3296566567.py in ----> 1 save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1', 2 True, 3 'video_data.csv')

/var/folders/7r/m23jjtm9061g3s067hngxyqr0000gn/T/ipykernel_17743/3511426399.py in save_tiktok(video_url, save_video, metadata_fn, browser_name) 185 regex_url = re.findall('(?<=@)(.+?)(?=\?|$)',video_url)[0] 186 video_fn = regexurl.replace('/','') + '.mp4' --> 187 tt_video_url = tt_json['ItemList']['video']['preloadList'][0]['url'] 188 tt_video = requests.get(tt_video_url,allow_redirects=True) 189 with open(video_fn, 'wb') as fn:

KeyError: 'ItemList'

Many thanks Geng

dfreelon commented 1 year ago

Just confirmed that

pyk.save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',True,'video_data.csv')

still works for me. My guess is you still haven't resolved your cookie issue. You can also try:

pyk.save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',True,'video_data.csv',browser_name='chrome')

if you have Chrome, or you can also try browser_name='firefox' if you have that.

Another thing to try would be to run:

pyk.get_tiktok_json('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1')

And paste the results here.

leoleepsyche commented 1 year ago

a bit silly, I just copy all the results of pyk.get_tiktok_json to you.

{'AppContext': {'appContext': {'isDowngradedToCSR': False, 'language': 'en', 'region': 'IT', 'appId': 1233, 'appType': 'm', 'wid': '7173409422869513734', 'nonce': 'fO4z1QEIx6MHRtJEkIlsi', 'botType': 'others', 'requestId': '33864938670189545398', 'clusterRegion': 'MALI_VA', 'encryptedWebid': '', 'userAgent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 'sgOpen': False, 'isSgOpenExcludeRegions': True, 'host': 'www.tiktok.com', 'csrfToken': 'jxxupxR3-Iu40LmZ62-aIYFJ1Fx4vsO17y94', 'abTestVersion': {'versionName': '70508271,70794106,70860458,70405643,70455309', 'parameters': {'reflow_video_caption': {'vid': 'v1'}, 'cta_test': {'vid': 'v1'}, 'xgplayer_preload_test': {'vid': 'v1'}, 'sharing_user_redesign': {'vid': 'v1', 'botVid': 'v1'}, 'mobile_search_test': {'vid': 'v2'}, 'share_button_part1_test': {'vid': 'v1'}, 'video_bitrate_adapt': {'vid': 'v1'}, 'mobile_vodkit': {'vid': 'v1'}, 'xg_volume_test': {'vid': 'v1'}, 'video_topic': {'vid': 'V1', 'botVid': 'V2'}, 'video_feed_redesign': {'vid': 'v1'}, 'volume_normalize': {'vid': 'v1'}, 'creator_center_test': {'vid': 'v2'}, 'enhance_video_consumption_test': {'vid': 'v3'}, 'increase_detail_page_cover_quantity_test': {'vid': 'v3'}, 'live_end_improved_metrics': {'vid': 'v2'}, 'live_golive_entrance': {'vid': 'v2'}, 'live_lcp_perf_optimize': {'vid': 'v3'}, 'live_room_age_restriction': {'vid': 'v2'}, 'live_top_viewers': {'vid': 'v2'}, 'search_video_lab': {'vid': 'v3'}, 'share_button_embed_test': {'vid': 'v2'}, 'ttlive_broadcast_topic_version_two': {'vid': 'v2'}, 'webapp_recommend_language': {'vid': 'v2'}}}}, 'initialized': True, 'lang': 'en', 'sideNavActive': False, 'isDowngradedToCSR': False}, 'BizContext': {'bizContext': {'os': 'linux', 'isMobile': False, 'isAndroid': False, 'isIOS': False, 'config': {'sgOpen': {'SG_OPEN': False, 'BOT_THRESHOLD': 70, 'EXCLUDE_REGIONS': ['DE', 'PT', 'DK', 'LT', 'LU', 'HR', 'LV', 'UA', 'HU', 'MC', 'MD', 'ME', 'IE', 'MK', 'EE', 'AD', 'IM', 'MT', 'IS', 'AL', 'IT', 'VA', 'ES', 'EU', 'AT', 'JE', 'RO', 'NL', 'BA', 'NO', 'RS', 'BE', 'FI', 'BG', 'FO', 'FR', 'SE', 'SI', 'BY', 'SJ', 'SK', 'SM', 'GB', 'GE', 'GG', 'GI', 'CH', 'GR', 'CY', 'CZ', 'PL', 'LI', 'TR', 'UY', 'FK', 'CL', 'PY', 'CO', 'GS', 'BO', 'VE', 'BR', 'AR', 'GY', 'PE', 'EC', 'GF', 'SR', 'BB', 'TT', 'PR', 'JM', 'HN', 'DM', 'BL', 'BM', 'DO', 'HT', 'BQ', 'BS', 'BZ', 'MF', 'GD', 'CA', 'US', 'KN', 'SV', 'MQ', 'GL', 'SX', 'AG', 'MS', 'AI', 'GP', 'MX', 'GT', 'VC', 'KY', 'CR', 'TC', 'PA', 'VG', 'CU', 'VI', 'CW', 'AW', 'LC', 'NI', 'PM']}, 'signUpOpen': True, 'shouldBlock': False, 'featureFlags': {'ftc': ['desktop', 'mobile'], 'feature_bar': False}, 'liveCoinRecharge': {'paymentSuccessLandingUrl': {'va': 'https://f-p-va.isnssdk.com/pipo_fe/checkout/common/land', 'sg': 'https://f-p.sgsnssdk.com/pipo_fe/checkout/common/land', 'gcp': 'https://f-p-useast2a.isnssdk.com/pipo_fe/checkout/common/land', 'ttp': 'https://fp.us.tiktokv.com/pipo_fe/checkout/common/land', 'boe': 'https://f-p-sandbox.snssdk.com/pipo_fe/checkout/common/land'}, 'paymentOriginKeys': {'11202105SnPWZG': 'c3e814c2fe9ccacb6d2943e9194d1089b9c5a71a', '11202105EyZ8PB': 'f037903682c460db404ba374ba489b1f3e51b389', '11202105DAs4Xe': 'd82598ff6c90220049216e2280f7b229a66051f1', '11202109Dkugw2': '7171766e6d89cf315548a1806800b9c3073db24f'}, 'idcRegions': {'RU': 'sg', 'SA': 'sg', 'BR': 'va', 'GB': 'va', 'US': 'va', 'MX': 'va', 'DE': 'va', 'JP': 'sg', 'KR': 'sg', 'ID': 'sg', 'TH': 'sg', 'AE': 'sg', 'KW': 'sg', 'QA': 'sg', 'LB': 'sg', 'VN': 'sg', 'TR': 'sg', 'EG': 'sg', 'MY': 'sg', 'PH': 'sg', 'SG': 'sg', 'FR': 'va', 'JO': 'sg', 'BH': 'sg', 'OM': 'sg', 'CA': 'va', 'TW': 'sg', 'AU': 'sg', 'SE': 'va', 'IL': 'sg', 'NL': 'va', 'CH': 'va', 'UA': 'sg', 'IT': 'va', 'AT': 'va', 'AZ': 'sg', 'ES': 'va', 'RO': 'va', 'BE': 'va', 'NZ': 'sg', 'ZA': 'sg', 'PL': 'va', 'CZ': 'va', 'DK': 'va', 'BG': 'va', 'CY': 'va', 'HR': 'va', 'EE': 'va', 'FI': 'va', 'GR': 'va', 'HU': 'va', 'IE': 'va', 'LV': 'va', 'LT': 'va', 'LU': 'va', 'MT': 'va', 'PT': 'va', 'SK': 'va', 'SI': 'va', 'NO': 'va', 'KZ': 'sg'}, 'pipoLocaleMap': {'bn-IN': 'bn', 'ceb-PH': 'ceb', 'cs-CZ': 'cs', 'de-DE': 'de', 'el-GR': 'el', 'es': 'es-ES', 'fil-PH': 'fil', 'hi-IN': 'hi', 'hu-HU': 'hu', 'id-ID': 'id', 'it-IT': 'it', 'ja-JP': 'ja', 'jv-ID': 'jv', 'ko-KR': 'ko', 'ms-MY': 'ms', 'my-MM': 'my', 'nl-NL': 'nl', 'pl-PL': 'pl', 'ro-RO': 'ro', 'ru-RU': 'ru', 'th-TH': 'th', 'tr-TR': 'tr', 'uk-UA': 'uk', 'vi-VN': 'vi', 'zh-Hans': 'zh', 'zh-Hant-TW': 'zh-Hant'}, 'paymentCheckboxRegions': ['GB', 'DE', 'FR', 'RO', 'ES', 'BE', 'PL', 'CZ', 'DK', 'CH', 'SE', 'NL', 'IT', 'AT', 'BG', 'CY', 'HR', 'EE', 'FI', 'GR', 'HU', 'IE', 'LV', 'LT', 'LU', 'MT', 'PT', 'SK', 'SI', 'NO'], 'paymentDisclaimerMap': {'US': 'pm_mt_cashier_us_copy', 'JP': 'pm_mt_japan_cashier_copy', 'GB': 'pm_mt_cashier_disclaimer_europe', 'FR': 'pm_mt_cashier_disclaimer_europe', 'DE': 'pm_mt_cashier_disclaimer_europe', 'ES': 'pm_mt_cashier_disclaimer_europe', 'RO': 'pm_mt_cashier_disclaimer_europe', 'BE': 'pm_mt_cashier_disclaimer_europe', 'PL': 'pm_mt_cashier_disclaimer_europe', 'CZ': 'pm_mt_cashier_disclaimer_europe', 'DK': 'pm_mt_cashier_disclaimer_europe', 'CH': 'pm_mt_cashier_disclaimer_europe', 'SE': 'pm_mt_cashier_disclaimer_europe', 'NL': 'pm_mt_cashier_disclaimer_europe', 'IT': 'pm_mt_cashier_disclaimer_europe', 'AT': 'pm_mt_cashier_disclaimer_europe', 'BG': 'pm_mt_cashier_disclaimer_europe', 'CY': 'pm_mt_cashier_disclaimer_europe', 'HR': 'pm_mt_cashier_disclaimer_europe', 'EE': 'pm_mt_cashier_disclaimer_europe', 'FI': 'pm_mt_cashier_disclaimer_europe', 'GR': 'pm_mt_cashier_disclaimer_europe', 'HU': 'pm_mt_cashier_disclaimer_europe', 'IE': 'pm_mt_cashier_disclaimer_europe', 'LV': 'pm_mt_cashier_disclaimer_europe', 'LT': 'pm_mt_cashier_disclaimer_europe', 'LU': 'pm_mt_cashier_disclaimer_europe', 'MT': 'pm_mt_cashier_disclaimer_europe', 'PT': 'pm_mt_cashier_disclaimer_europe', 'SK': 'pm_mt_cashier_disclaimer_europe', 'SI': 'pm_mt_cashier_disclaimer_europe', 'NO': 'pm_mt_cashier_disclaimer_europe'}, 'paypalLinkRegions': ['GB', 'BR', 'DE', 'MX', 'JP', 'TH', 'US', 'FR', 'AU', 'SE', 'IL', 'NL', 'CH', 'IT', 'AT', 'ES', 'BE', 'PL', 'NZ', 'CZ', 'DK']}, 'samsungEnableRegion': {'isFull': False, 'region': []}, 'cookieBanner': {'load_dynamically': True, 'decline_btn_staged_rollout_area': ['ALL'], 'resource': {'esm': '/pns/tiktok-cookie-banner/{{VERSION}}/web.esm.js', 'nomodule': '/pns/tiktok-cookie-banner/{{VERSION}}/web.js', 'version': '1.0.0.153'}, 'i18n': {'cookieBannerTitle': 'cookie_title', 'cookieBannerTitleNew': 'cookie_title_new', 'cookieBannerSubTitle': 'cookie_subtitle', 'cookieBannerSubTitleNew': 'cookie_subtitle_new', 'cookieBannerSubTitleV2': 'cookie_subtitle_v3', 'cookieBannerBtnManage': 'cookie_btn_manage', 'cookieBannerBtnAccept': 'cookie_btn_accpet', 'cookieBannerBtnDecline': 'cookie_btn_decline', 'cookiesBannerDetails': 'cookies_banner_details', 'cookiesBannerCookiesPolicy': 'cookies_banner_cookies_policy', 'cookiesBannerAccept': 'cookies_banner_accept', 'webDoNotSellSettingsSavedToast': 'web_do_not_sell_settings_saved_toast', 'cookieSettingManageYourCookieTitle': 'cookie_banner_category_manage', 'cookieSettingSave': 'save_settings', 'cookieSettingAnalyticsAndMarketing': 'cookie_banner_subcategory_cookies', 'cookieSettingNecessary': 'cookie_setting_page_nc_title', 'cookieSettingNecessarySubtitle': 'cookie_setting_page_nc_subtitle', 'cookieSettingNecessaryV2': 'cookie_banner_subcategory_essential', 'cookieSettingNecessarySubtitleV2': 'cookies_essential_desc', 'cookieSettingAnalyticsAndMarketingSubtitle': 'cookie_setting_page_aam_subtitle', 'cookieSettingAnalyticsAndMarketingSubtitleV2': 'cookie_analytics_marketing_desc', 'cookieManageTip': 'cookie_manage_desc'}}, 'paidAdSetting': {'region': ['US', 'KR'], 'exclude_subdivisions': ['California'], 'US': {'pixels': ['facebook', 'google'], 'excludeCity': '[California]'}, 'JP': {'pixels': ['google', 'pangle']}, 'KR': {'pixels': ['facebook', 'google']}, 'AU': {'pixels': ['google']}, 'RU': {'pixels': ['google']}, 'BR': {'pixels': ['google']}, 'VN': {'pixels': ['google']}, 'ZA': {'pixels': ['google']}, 'ID': {'pixels': ['google']}, 'TH': {'pixels': ['google']}, 'AE': {'pixels': ['google']}}, 'isGrayFilter': False}, 'domains': {'kind': 'm', 'captcha': '', 'imApi': 'https://im-api-va.tiktok.com', 'imFrontier': 'wss://im-ws-va.tiktok.com/ws/v2', 'mTApi': 'https://m.tiktok.com', 'rootApi': 'https://www.tiktok.com', 'secSDK': '', 'slardar': 'mon-va.byteoversea.com', 'starling': 'https://starling-oversea.byteoversea.com', 'tea': 'https://mcs-va.tiktok.com', 'libraWebSDK': 'https://vmweb-va.byteoversea.com', 'webcastApi': 'https://webcast-m.tiktok.com', 'webcastRootApi': 'https://webcast.tiktok.com', 'tcc': 'https://sf16-tcc-tos-va.byteoversea.com/obj/tcc-config-web-maliva/', 'search': '', 'aweme': 'https://api.tiktok.com'}, 'downloadLink': {'microsoft': {'visible': True, 'normal': 'https://www.microsoft.com/store/apps/9NH2GPH4JZS4'}, 'apple': {'visible': True, 'normal': 'https://www.tiktok.com/download-link/af/id835599320'}, 'amazon': {'visible': True, 'normal': 'https://www.amazon.com/dp/B0117U0G3M/'}, 'google': {'visible': True, 'normal': 'https://www.tiktok.com/download-link/af/com.zhiliaoapp.musically'}}, 'deviceLimitRegisterExpired': True, 'subdivisions': ['Lombardy'], 'geo': ['3174618'], 'geoCity': {'City': 'Milan', 'Subdivisions': 'Lombardy', 'SubdivisionsArr': ['Lombardy']}, 'isGoogleBot': False, 'isBingBot': False, 'isBot': False, 'isSearchEngineBot': False, 'isTTP': False}, 'initialized': True}, 'I18n': {'lang': 'en', 'translations': {'en': {'WebApp_Login': {'2-step_verification_TikTok': '2-step verification | TikTok', '2sv_login_block': 'It looks like you have 2-step verification turned on. Log in with the app to continue.', '4digit_code': 'Enter 4-digit code', 'About TikTok': 'About TikTok', 'All Rights Reserved | TikTok': 'All Rights Reserved | TikTok', 'Back to Log in options': 'Go back', 'By signing up, you agree to our': 'By signing up, you agree to our', 'Community': 'Community', 'Community Policy': 'Community Policy', 'Company': 'Company', 'Contact': 'Contact', 'Continue': 'Continue', 'Copyright Policy': 'Copyright Policy', 'Day': 'Day', 'EDM_collect_email_consent_H5__optedin_headline': 'Thanks for signing up', 'EDM_collect_email_consent_H5_opt_in_title': 'Get email updates', 'EDM_collect_email_consent_H5_optin_CTA_one': 'Get updates', 'EDM_collect_email_consent_H5_optin_CTA_two': 'No thanks', 'EDM_collect_email_consent_H5_optin_body': 'Get trending content, newsletters, promotions, recommendations, and account updates sent to your email', 'EDM_collect_email_consent_H5_optin_declined_body': 'You have opted out of marketing emails from TikTok', 'EDM_collect_email_consent_H5_optin_declined_headline': 'Thanks for your response', 'EDM_collect_email_consent_H5_optin_headline': 'Want TikTok emails?', 'EDM_collect_email_consent_account_update_dialog_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_account_update_dialog_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_account_update_dialog_body': 'Get trending content, newsletters, and account updates sent to your email', 'EDM_collect_email_consent_account_update_dialog_headline': 'Want TikTok updates sent to %s?', 'EDM_collect_email_consent_account_update_halfsheet_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_account_update_halfsheet_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_account_update_halfsheet_body': 'Get trending content, newsletters, and account updates sent to %s', 'EDM_collect_email_consent_account_update_halfsheet_headline': 'Get updates sent to your email?', 'EDM_collect_email_consent_account_update_opt_in_toast': 'You will now get updates sent to %s', 'EDM_collect_email_consent_dialog_discover_tab_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_discover_tab_dialog_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_discover_tab_dialog_body': 'Get trending content, newsletters, and account updates sent to your email', 'EDM_collect_email_consent_discover_tab_dialog_headline': 'Want TikTok updates sent to %s?', 'EDM_collect_email_consent_discover_tab_halfsheet_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_discover_tab_halfsheet_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_discover_tab_halfsheet_body': 'Get trending content, newsletters, and account updates sent to %s', 'EDM_collect_email_consent_discover_tab_halfsheet_headline': 'Get updates sent to your email?', 'EDM_collect_email_consent_discover_tab_opt_in_toast': 'You will now get updates sent to %s', 'EDM_collect_email_consent_feed_following_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_feed_following_dialog_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_feed_following_dialog_body': 'Get trending content, newsletters, and account updates sent to your email', 'EDM_collect_email_consent_feed_following_dialog_headline': 'Want TikTok updates sent to %s?', 'EDM_collect_email_consent_feed_following_halfsheet_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_feed_following_halfsheet_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_feed_following_halfsheet_body': 'Get trending content, newsletters, and account updates sent to %s', 'EDM_collect_email_consent_feed_following_halfsheet_headline': 'Get updates sent to your email?', 'EDM_collect_email_consent_feed_following_opt_in_toast': 'You will now get updates sent to %s', 'EDM_collect_email_consent_notification_account_update_body': 'Get trending content, newsletters and account updates sent to your inbox', 'EDM_collect_email_consent_notification_account_update_headline': 'Want TikTok in your inbox?', 'EDM_collect_email_consent_profile_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_profile_dialog_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_profile_dialog_body': 'Get trending content, newsletters, and account updates sent to your email', 'EDM_collect_email_consent_profile_dialog_headline': 'Want TikTok updates sent to %s?', 'EDM_collect_email_consent_profile_followers_halfsheet_headline': 'Get updates sent to your email?', 'EDM_collect_email_consent_profile_halfsheet_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_profile_halfsheet_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_profile_halfsheet_body': 'Get trending content, newsletters, and account updates sent to %s', 'EDM_collect_email_consent_profile_opt_in_toast': 'You will now get updates sent to %s', 'EDM_collect_email_consent_settings_privacy_manage_account_dialog_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_settings_privacy_manage_account_dialog_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_settings_privacy_manage_account_dialog_body': 'Get trending content, newsletters, and account updates sent to your email', 'EDM_collect_email_consent_settings_privacy_manage_account_dialog_headline': 'Want TikTok updates sent to %s?', 'EDM_collect_email_consent_settings_privacy_manage_account_halfsheet_CTA_button_one': 'Get updates', 'EDM_collect_email_consent_settings_privacy_manage_account_halfsheet_CTA_button_two': 'No thanks', 'EDM_collect_email_consent_settings_privacy_manage_account_halfsheet_body': 'Get trending content, newsletters, and account updates sent to %s', 'EDM_collect_email_consent_settings_privacy_manage_account_halfsheet_headline': 'Get updates sent to your email?', 'EDM_collect_email_consent_settings_privacy_manage_account_opt_in_toast': 'You will now get updates sent to %s', 'EDM_email_consent_dedicated_page_CTA_button_one': 'Get updates', 'EDM_email_consent_dedicated_page_CTA_button_two': 'No thanks', 'EDM_email_consent_dedicated_page_body': 'Want trending content, newsletters, and account updates sent to {email}?', 'EDM_email_consent_dedicated_page_title': 'Your email was added', 'EDM_email_consent_popup_toast_CTA_button_one': 'Get updates', 'EDM_email_consent_popup_toast_CTA_button_two': 'No thanks', 'EDM_email_consent_popup_toast_body': 'Get trending content, newsletters, and account updates sent to {email}', 'EDM_email_consent_popup_toast_title': 'Get updates sent to your email?', 'EDM_email_consent_success_state_toast_version_one': 'You will now get updates sent to {email}', 'EDM_email_consent_success_state_toast_version_two': 'You will now get updates sent to {email}', 'EDM_onboarding_email_consent_checkbox_list': 'Get trending content, newsletters, promotions, recommendations, and account updates sent to your email', 'EDM_onboarding_email_consent_checkbox_list_short': 'Get TikTok news and account updates sent to your email', 'Email': 'Email', 'Email or Username': 'Email or username', 'Enter 4-digit code': 'Enter 4-digit code', 'Enter password': 'Enter password', 'Follow us': 'Follow us', 'Forgot password?': 'Forgot password?', 'Get the app.': 'Get the app.', 'Incorrect account or password': 'Incorrect account or password', 'Incorrect code': 'Incorrect code', 'Incorrect password': 'Incorrect password', 'Law Enforcement': 'Law Enforcement', 'Legal': 'Legal', 'Log in': 'Log in', 'Log in to TikTok': 'Log in to TikTok', 'Log in to TikTok using your phone number or email address and password. Start watching to discover real people and real videos that will make your day.': 'Log in to TikTok using your phone number or email address and password. Start watching to discover real people and real videos that will make your day.', 'Log in to TikTok using your phone number or email address. Start watching to discover real people and real videos that will make your day.': 'Log in to TikTok using your phone number or email address. Start watching to discover real people and real videos that will make your day.', 'Log in with Apple': 'Log in with Apple', 'Log in with Facebook': 'Log in with Facebook', 'Log in with Google': 'Log in with Google', 'Log in with Instagram': 'Log in with Instagram', 'Log in with KakaoTalk': 'Log in with KakaoTalk', 'Log in with Line': 'Log in with LINE', 'Log in with Twitter': 'Log in with Twitter', 'Log in with VK': 'Log in with VK', 'Log in with password': 'Log in with password', 'Log in with password | TikTok': 'Log in with password | TikTok', 'Log in with phone or email | TikTok': 'Log in with phone or email | TikTok', 'Log in | TikTok': 'Log in | TikTok', 'Login': 'Log in', 'Login Confirm': 'Login Confirm', 'Login Fail': 'Login Fail', 'Login Success': 'Login Success', 'Month': 'Month', 'Month_1': 'January', 'Month_10': 'October', 'Month_11': 'November', 'Month_12': 'December', 'Month_2': 'February', 'Month_3': 'March', 'Month_4': 'April', 'Month_5': 'May', 'Month_6': 'June', 'Month_7': 'July', 'Month_8': 'August', 'Month_9': 'September', 'OR': 'OR', 'Open Source': 'Open Source', 'Password': 'Password', 'Phone': 'Phone', 'Phone Number': 'Phone Number', 'Phone number': 'Phone number', 'Please enter your phone number': 'Please enter your phone number', 'Privacy Policy': 'Privacy Policy', 'Recover your password using the phone number or email address linked to your account.': 'Recover your password using the phone number or email address linked to your account.', 'Remove': 'Remove', 'Resend': 'Resend', 'Resend code': 'Resend code', 'Reset': 'Reset', 'Reset password with email | TikTok': 'Reset password with email | TikTok', 'Reset password with phone | TikTok': 'Reset password with phone | TikTok', 'SEO_setting_title': 'Privacy and Settings | TikTok', 'SMS': 'SMS', 'Safety Center': 'Safety Center', 'Select country/region': 'Select country/region', 'Send Code': 'Send Code', 'Sign up for an account on TikTok using your phone number or email address. Start watching to discover real people and real videos that will make your day.': 'Sign up for an account on TikTok using your phone number or email address. Start watching to discover real people and real videos that will make your day.', 'Sign up with phone or email | TikTok': 'Sign up with phone or email | TikTok', 'Sign up | TikTok': 'Sign up | TikTok', 'Sorry, something went wrong, please try again later': 'Sorry, something went wrong, please try again later', 'Support': 'Support', 'Terms of Use': 'Terms of Use', 'Unable_to_sign_up_ins': 'Unable to sign up with Instagram. Try other methods', 'Use phone or email': 'Use phone or email', 'Username': 'Username', 'Username / Phone number / Email': 'Username / Phone number / Email', 'Verification code': 'Verification code', 'Virtual Items': 'Virtual Items', 'WebApp_coin_recharge_9': 'Sign up to get coins', 'Year': 'Year', 'You are logged in, no need to repeat': 'You are logged in, no need to repeat', 'You are visiting our service too frequently, please try again later.': 'You are visiting our service too frequently, please try again later.', 'You will open another page to login': 'You will open another page to login', 'Your code was sent to {code}': 'Your code was sent to {code}', 'aa_login_subtitle': 'To confirm your date of birth, log into your account.', 'acc_control': 'Account control ', 'account': 'Account', 'account_delete_regular_app_desc': 'Use the regular TikTok app to access details', 'account_deleted_toast_message': "Couldn't find this account.", 'account_issue': 'Account issue', 'account_removed_in_error_para1': 'We are committed to maintaining a safe, authentic community on TikTok. All users must meet our age requirements.', 'account_removed_in_error_para2': 'If your account was removed by mistake, you can submit a verification request by {ddl}.', 'account_removed_in_error_para2_1': 'If your account was removed by mistake, you can submit a verification request up to 10 days before your account is permanently removed.', 'account_removed_in_error_para3': 'We cannot accept requests after {ddl}, and we will limit the number of requests for the same account. ', 'account_removed_in_error_para4': 'After you verify your date of birth and you are found to be eligible to use TikTok, we will restore your account.', 'account_removed_in_error_question': 'Account removed in error?', 'account_removed_in_error_title': 'Account removed in error', 'ageGateintegration_13to18retrieveDatascreen_body': "It looks like you created videos before you met TikTok's age requirement. \n\nAll posts created before you were eligible must be permanently removed. You may request a link to download your videos to your personal device.", 'ageGateintegration_13to18retrieveDatascreen_cta1': 'Request a link', 'ageGateintegration_13to18retrieveDatascreen_cta2': 'Remove videos', 'ageGateintegration_13to18retrieveDatascreen_title': 'Details on your account', 'ageGateintegration_13to18videosRemovedpopUp_body': 'All videos created before you met the age requirement to register for TikTok will be permanently removed.', 'ageGateintegration_13to18videosRemovedpopUp_cta1': 'Continue', 'ageGateintegration_13to18videosRemovedpopUp_cta2': 'Cancel', 'ageGateintegration_13to18videosRemovedpopUp_title': 'Some videos will be removed', 'ageGateintegration_ageRestrictedpopUp_body': 'Your account settings have been updated to give you the view-only experience designed for you. \n\nYou will be asked to create a new username and password.', 'ageGateintegration_ageRestrictedpopUp_cta': 'Continue', 'ageGateintegration_ageRestrictedpopUp_featuresUnavailable_body': "We've updated your settings to give you the experience designed for you.", 'ageGateintegration_ageRestrictedpopUp_featuresUnavailable_cta': 'Continue', 'ageGateintegration_ageRestrictedpopUp_featuresUnavailable_title': 'Some features are unavailable', 'ageGateintegration_ageRestrictedpopUp_title': 'Some features are unavailable', 'ageGateintegration_allUsers_downloadVideosscreen_body': "We'll send you a link for you to save your videos created on TikTok. The link will expire after some time.", 'ageGateintegration_allUsers_downloadVideosscreen_cta1': 'Send link', 'ageGateintegration_allUsers_downloadVideosscreen_title': 'Download your videos', 'ageGateintegration_allUsers_emailSent_body': 'A link to your TikTok videos will arrive shortly.', 'ageGateintegration_allUsers_emailSent_cta1': 'Done', 'ageGateintegration_allUsers_emailSent_title': 'Email sent', 'ageGateintegration_birthDatescreen_CTA': 'Next', 'ageGateintegration_birthDatescreen_body': "Select the date of birth for the primary account holder. This info won't be shared publicly.", 'ageGateintegration_birthDatescreen_errorMessage': 'The birth date entered is after the date you registered for TikTok.', 'ageGateintegration_birthDatescreen_title': "What's your birth date?", 'ageGateintegration_confirmationPopup_body': 'Make sure this info is correct because you may not be able to change it.', 'ageGateintegration_confirmationPopup_cta1': 'Edit', 'ageGateintegration_confirmationPopup_cta2': 'Confirm', 'ageGateintegration_confirmationPopup_dateOfbirth_birthDateplaceholder': '{date of birth}', 'ageGateintegration_confirmationPopup_dateOfbirth_yearsOld': '{num, plural, one {%d year old} other {%d years old}}', 'ageGateintegration_confirmationPopup_title': 'Is this your date of birth? \n{date}\n{age_number} years old', 'ageGateintegration_successPopup_13to18Users_body': 'Providing your date of birth helps us maintain a safe, fun environment for everyone.', 'ageGateintegration_successPopup_13to18Users_cta': 'Done', 'ageGateintegration_successPopup_13to18Users_title': 'Some features are unavailable', 'ageGateintegration_successPopup_over18Users_body': 'Providing your date of birth helps us maintain a safe, fun environment for everyone.', 'ageGateintegration_successPopup_over18Users_cta': 'Done', 'ageGateintegration_successPopup_over18Users_title': 'Enjoy your experience!', 'ageGateintegration_under13RetrievedataScreen_body': "Looks like you didn't meet the age criteria when you first signed up for TikTok. All the posts under {{username}} will be removed.", 'ageGateintegration_under13RetrievedataScreen_body_bulletList_bullet1': 'Request a link to download your videos now', 'ageGateintegration_under13RetrievedataScreen_body_bulletList_bullet2': 'Enjoy a view-only experience designed for you', 'ageGateintegration_under13RetrievedataScreen_body_bulletList_cta1': 'Request link', 'ageGateintegration_under13RetrievedataScreen_body_bulletList_cta2': 'Exit', 'ageGateintegration_under13RetrievedataScreen_body_bulletList_title': "What's next?", 'ageGateintegration_under13RetrievedataScreen_title': 'Your videos will be removed', 'ageGateintegration_under13VideosremovedPopup_body': 'All videos you created will be permanently removed from TikTok.', 'ageGateintegration_under13VideosremovedPopup_cta1': 'Continue', 'ageGateintegration_under13VideosremovedPopup_cta2': 'Cancel', 'ageGateintegration_under13VideosremovedPopup_title': 'Your videos will be removed', 'age_verify_U18_process': 'The verification process isn’t available right now. Please try again later.', 'age_verify_basic_info': 'Basic information', 'age_verify_cancel': 'Cancel', 'age_verify_country_select': 'Select country or region', 'age_verify_dob': 'Date of birth', 'age_verify_dob_intro': 'We will update your date of birth in TikTok once verified.', 'age_verify_dob_title': 'Select date of birth', 'age_verify_doc': 'Identity document', 'age_verify_doc_country': 'Issuing country or region', 'age_verify_doc_select': 'Verify with', 'age_verify_doc_type': 'Document type', 'age_verify_doc_type_intro': 'Select type', 'age_verify_done': 'Done', 'age_verify_email': 'Email', 'age_verify_email_error': 'Please enter a valid email address.', 'age_verify_info_partner': 'Provided by {vendor}', 'age_verify_instr_toast': 'Scroll down and review all information to continue', 'age_verify_intro': 'To process your request, TikTok may work with 3rd-party vendors. TikTok and its partners will not use your data for any purpose other than to review your request.', 'age_verify_login_ineligible': 'Not eligible for verification', 'age_verify_login_ineligible_intro': "We're sorry. Your account isn’t eligible for verification at this time.", 'age_verify_login_inexistent': "Account doesn't exist", 'age_verify_login_inexistent_intro': "We didn't recognize this account. Check your login information and try again.", 'age_verify_login_intro': 'To verify your date of birth, log into your account.', 'age_verify_login_title': 'Log in to continue', 'age_verify_note': 'Before uploading, confirm that your email address and date of birth are correct.', 'age_verify_ok': 'OK', 'age_verify_quit_button1': 'Quit', 'age_verify_quit_button2': "Don't quit", 'age_verify_quit_intro': 'Your information won’t be saved.', 'age_verify_quit_title': 'Quit verification process?', 'age_verify_submit': 'Request submitted', 'age_verify_submit_intro': 'Thank you for submitting your verification request. We will notify you by email as soon as we have an update.', 'age_verify_take_photo': 'Take photo', 'age_verify_title': 'Verify date of birth', 'age_verify_triage_button1': 'I am at least 18 years old', 'age_verify_triage_button2': 'I am under 18 years old', 'age_verify_triage_title': 'What’s your age?', 'age_verify_unavaible': 'Verification not available', 'age_verify_unavaible_exceed': "Your account isn't eligible for verification at this time because you've already submitted multiple requests.", 'age_verify_unavaible_finish': 'Your account isn’t eligible for verification at this time because you’ve already verified your date of birth.', 'age_verify_unavaible_pending': "We're sorry. Your account isn’t eligible for verification at this time because it is under review.", 'age_verify_unsubmit': 'Request not submitted', 'age_verify_unsubmit_intro': 'Your verification request wasn’t submitted because the information provided did not meet the requirements.', 'age_verify_unsubmit_intro2': "Sorry, your verification request wasn't submitted due to an unexpected error. Please quit the verification process and try again later.", 'age_verify_unsubmit_intro3': "Your verification request wasn't submitted because of a network or device error. Please quit the verification process and try again using another {error_reason, plural, =0 {network} =1 {camera} =2 {browser}}.", 'age_verify_upload': 'Upload document', 'age_verify_upload_photo': 'Upload photo', 'ba': 'Business Accounts', 'back_to_login_btn': 'Back to Log in options', 'ban_age_gate_removed_mobile_text': 'Your account will be removed. Log in to your account in the TikTok app to view details.', 'ban_age_gate_removed_pc_text': "Your account will be removed. Log in to your account in the TikTok app to view details. Don't have it installed? Scan this QR code to download the app.", 'below_13_complete_page_contact_us': 'Contact us', 'below_13_complete_page_description': 'Your account %1$s has been removed. The account will be deactivated for 30 days from %2$s and then will be removed permanently from our server.', 'below_13_complete_page_need_help': 'Need help? %s', 'below_13_complete_page_tile': 'Account removed', 'below_13_download_draft_video_button': 'Next', 'below_13_download_draft_video_loading': 'Saving drafts to your device...', 'below_13_download_draft_video_permission_confirmation': 'To save your drafts, allow access to storage.', 'below_13_download_draft_video_permission_confirmation_iOS': 'To save your drafts, allow access to photos.', 'below_13_download_draft_video_permission_denied': "Permission denied. Couldn't save draft videos.", 'below_13_download_video_confirmation_description': 'We’ll email a link to your videos files to: %s', 'below_13_download_video_confirmation_title': 'Confirm your email address', 'below_13_download_video_confirmation_yes_button': 'Send', 'below_13_download_video_description_1': 'Your account and all of your videos will be removed from TikTok.', 'below_13_download_video_description_2': 'Enter an email address and we’ll email a link to your video files:', 'below_13_download_video_select_description_1': 'Your account and all of your videos will be removed from TikTok.', 'below_13_download_video_select_description_2': 'Would you like to download the videos from your account?', 'below_13_download_video_select_no': 'Do not download', 'below_13_download_video_select_no_confirmation_concel': 'Cancel', 'below_13_download_video_select_no_confirmation_description': "You’ll be logged out without downloading your videos. You won't be able to recover these videos.", 'below_13_download_video_select_no_confirmation_log_out': 'Log out', 'below_13_download_video_select_no_confirmation_title': 'Log out without downloading videos?', 'below_13_download_video_select_no_descption': 'You’ll be logged out without downloading your videos.', 'below_13_download_video_select_title': 'Download your videos', 'below_13_download_video_select_yes': 'Download', 'below_13_download_video_select_yes_descption': 'We’ll email a link to your video files.', 'below_13_download_video_submit_button': 'Submit', 'birthdate_placeholder': 'Birthday', 'birthdate_select_above_13_description': 'We’ll update your TikTok experience accordingly.', 'birthdate_select_above_13_ok_button': 'OK', 'birthdate_select_above_13_title': 'Thanks for providing your info', 'birthdate_select_below_13_description': 'You aren’t eligible to use TikTok and %s, but we can help you download the videos from your account.', 'birthdate_select_below_13_description_placeholder': 'your account will be removed', 'birthdate_select_below_13_title': 'You’re not eligible yet to use TikTok', 'birthdate_select_for_existing_users_description': 'Providing your date of birth allows us to make sure that you are old enough to use TikTok.', 'birthdate_select_for_existing_users_next_button': 'Next', 'birthdate_select_for_existing_users_titile': 'When’s your birthday?', 'birthday_error_invaliddate': 'Enter a valid date', 'birthdayscreen_modal_button': "Let's go", 'birthdayscreen_modal_desc1': "You're about to access a TikTok experience designed just for you.", 'birthdayscreen_modal_desc2': 'Choose a username and password to get started.', 'bug_report': 'Bug report', 'button_signup_private_on': 'OK', 'ca': 'Creator Accounts', 'caba_no_private': "{account_type} can't be set to private", 'caba_no_private_desc': 'To set your account to private, switch to a Personal Account on the app in Settings and privacy > Manage account.', 'changepw_banner': 'Your password expired and must be changed to keep your account safe. ', 'changepw_confirm_2_btn': 'Done', 'changepw_confirm_2_title': 'Password changed', 'character_limit': 'Enter up to %ld characters', 'choosepassword_button': 'Next', 'choosepassword_desc1': 'Passwords must have:', 'choosepassword_desc2': '8-20 characters', 'choosepassword_desc3': 'Letters and numbers', 'choosepassword_desc4': 'Special characters (such as #, &, %)', 'choosepassword_textfield': 'Password', 'choosepassword_title': 'Choose password', 'chooseusername_bottombanner': 'Suggestions', 'chooseusername_button': 'Next', 'chooseusername_desc': "Choose a username for your account. For your safety, don't use your real name or other personal information as your username.", 'chooseusername_errorstate1': 'This username is already taken. Try one of the suggestions, or enter a new username', 'chooseusername_errorstate2': "Your username can't end with a period", 'chooseusername_errorstate3': "Your username can't contain only numbers", 'chooseusername_errorstate4': 'Your username can have up to 24 characters', 'chooseusername_errorstate5': 'Include at least 2 characters in your username', 'chooseusername_textfield': 'Username', 'chooseusername_title': 'Choose username', 'chooseusername_toast1': "Can't include spaces", 'chooseusername_toast2': "Can't include special characters", 'clockerror_toast': "Update your device's date and time settings and try again", 'code_toast': 'Your code was sent to {phone_number}', 'common_login': 'Login', 'common_login_back': 'Go back', 'common_login_back_2': 'Back to login options', 'common_login_email_error': 'Incorrect account or password', 'common_login_email_input_tab': 'Email / Username', 'common_login_email_placeholder': 'Email or Username', 'common_login_input_button': 'Log in', 'common_login_input_popup_option_1': 'WhatsApp', 'common_login_input_popup_option_2': 'SMS code', 'common_login_input_popup_title': 'Log in with:', 'common_login_panel_button_apple': 'Continue with Apple', 'common_login_panel_button_apple_1': 'Apple', 'common_login_panel_button_docomo': 'Continue with docomo', 'common_login_panel_button_docomo_1': 'Docomo', 'common_login_panel_button_facebook': 'Continue with Facebook', 'common_login_panel_button_facebook_1': 'Facebook', 'common_login_panel_button_google': 'Continue with Google', 'common_login_panel_button_google_1': 'Google', 'common_login_panel_button_instagram': 'Continue with Instagram', 'common_login_panel_button_instagram_1': 'Instagram', 'common_login_panel_button_kakaotalk': 'Continue with KakaoTalk', 'common_login_panel_button_kakaotalk_1': 'KakaoTalk', 'common_login_panel_button_line': 'Continue with LINE', 'common_login_panel_button_line_1': 'LINE', 'common_login_panel_button_phone': 'Use phone number', 'common_login_panel_button_phoneoremail': 'Use phone or email', 'common_login_panel_button_phoneoremailorusername': 'Use phone / email / username', 'common_login_panel_button_phoneoremailorusername_1': 'Phone/Email/Username', 'common_login_panel_button_phoneoremailorusername_2': 'Phone/Email/Username', 'common_login_panel_button_phoneoremailorusername_new': 'Use phone, email, or username', 'common_login_panel_button_qrcode': 'Use QR code', 'common_login_panel_button_qrcode_tooltip': 'Scan QR code from the app', 'common_login_panel_button_twitter': 'Continue with Twitter', 'common_login_panel_button_twitter_1': 'Twitter', 'common_login_panel_button_vk': 'Continue with VK', 'common_login_panel_button_vk_1': 'VK', 'common_login_panel_copy': 'Manage your account, check notifications, comment on videos, and more.', 'common_login_panel_entry_1': 'Don’t have an account? %s', 'common_login_panel_entry_2': 'Sign up', 'common_login_panel_method_title_1': 'Log in with other methods', 'common_login_panel_method_title_2': 'Log in with QR code', 'common_login_panel_title': 'Log in to TikTok', 'common_login_password_button': 'Log in with code', 'common_login_password_error': 'Incorrect password', 'common_login_password_reset': 'Forgot password?', 'common_login_password_title': 'Enter password', 'common_login_qrcode_button': 'How to find the scanner', 'common_login_qrcode_checkinstruction': 'See how', 'common_login_qrcode_copy': '1. Open the TikTok app on your mobile device \n2. On Profile, tap {addfriends_button} \n3. Tap {qrscanner_button} and scan the QR code to confirm your login', 'common_login_qrcode_copy_1': '1. Open the TikTok app on your mobile device ', 'common_login_qrcode_copy_2': '2. On Profile, tap {addfriends_button}', 'common_login_qrcode_copy_3': '3. Tap {qrscanner_button} and scan the QR code to confirm your login', 'common_login_qrcode_discover': 'Discover', 'common_login_qrcode_error_network': 'No internet connection. Connect to the internet and try again.', 'common_login_qrcode_page_button': 'Confirm', 'common_login_qrcode_page_copy': 'Manage your account, check notifications, comment on videos, and more.', 'common_login_qrcode_page_subtitle': 'Confirm login on TikTok for desktop', 'common_login_qrcode_page_title': 'Authorize QR code login', 'common_login_qrcode_page_toast_failed': "Couldn't log in on TikTok for desktop", 'common_login_qrcode_page_toast_success': 'Logged in on TikTok for desktop', 'common_login_qrcode_previous_button_confirm': 'Confirm', 'common_login_qrcode_previous_button_login': 'Log in', 'common_login_qrcode_previous_desc': 'Manage your account, check notifications, comment on videos, and more.', 'common_login_qrcode_previous_need_login_desc': 'Log in to your TikTok account and try again.', 'common_login_qrcode_previous_subtitle': 'Confirm login on TikTok for desktop', 'common_login_qrcode_previous_subtitle_need_login': "Couldn't confirm login on TikTok for desktop", 'common_login_qrcode_previous_title': 'Authorize QR code login', 'common_login_qrcode_refresh_btn': 'Refresh', 'common_login_qrcode_status_expired': 'QR code expired {refresh_button}', 'common_login_qrcode_status_failed': "Couldn't confirm login. Refresh QR code and try again.", 'common_login_qrcode_status_failed_2': 'Tap to refresh QR code', 'common_login_qrcode_status_failed_toast': "Couldn't confirm login on TikTok for desktop", 'common_login_qrcode_status_scanned': 'QR code scanned', 'common_login_qrcode_thirdparty_body': 'Open TikTok app, tap on “Discover” and scan the QR code using the %s in the upper right corner', 'common_login_qrcode_thirdparty_subtitle': 'Use TikTok to scan', 'common_login_qrcode_title': 'Log in with QR code', 'common_login_qrcode_unlogged_button': 'Log in', 'common_login_qrcode_unlogged_copy': 'Log in to your TikTok account and try again.', 'common_login_qrcode_unlogged_subtitle': "Couldn't confirm login on TikTok for desktop", 'common_login_reset_email_input_button': 'Reset', 'common_login_reset_email_input_error': "Email address isn't registered yet", 'common_login_reset_email_input_placeholder': 'Email address', 'common_login_reset_email_input_text': 'We’ll email you a code to reset your password.', 'common_login_reset_email_verify_button': 'Resend email', 'common_login_reset_email_verify_text': 'Your code was emailed to %s', 'common_login_reset_email_verify_title': 'Enter 6-digit code', 'common_login_reset_password_title': 'Reset password', 'common_login_reset_phone_input_button': 'Send code', 'common_login_reset_phone_input_error': "Phone number isn't registered yet", 'common_login_reset_phone_input_text': 'We’ll send a code to your phone.', 'common_login_reset_phone_input_title': 'Enter your phone number', 'common_login_reset_popup_title': 'Reset password with:', 'common_login_reset_title': 'Reset', 'common_login_sms_button': 'Log in with password', 'common_login_sms_popup_option_1': 'Create account', 'common_login_sms_popup_option_2': 'Go back', 'common_login_sms_popup_text': 'This phone number isn’t registered yet. Create account with this number?', 'common_login_sms_unregistered_pc_1': 'This phone number isn’t registered yet', 'common_login_sms_unregistered_pc_2': 'Create account with this number', 'common_login_switch_email': 'Log in with email or username', 'common_login_switch_phone': 'Log in with phone', 'common_notification_unlogged_button': 'Sign up', 'common_notification_unlogged_text': 'Messages and notifications will appear here', 'common_notification_unlogged_title': 'All activity', 'common_registration_agegate_button': 'Next', 'common_registration_agegate_title': 'When’s your birthday?', 'common_registration_back': 'Go back', 'common_registration_back_2': 'Back to signup options', 'common_registration_email_existing_PC': 'You’ve already signed up. {Log in}', 'common_registration_email_existing_text': 'Enter your password to log in to your account.', 'common_registration_email_existing_title': 'You’ve already signed up', 'common_registration_email_input_agreement': 'By continuing, you agree to TikTok’s %1$s and confirm that you have read TikTok’s %2$s.', 'common_registration_email_input_button': 'Next', 'common_registration_email_input_error': 'Enter a valid email address', 'common_registration_email_input_suggested': 'Suggested', 'common_registration_feedback': 'Feedback and help', 'common_registration_panel_button_apple': 'Continue with Apple', 'common_registration_panel_button_docomo': 'Continue with docomo', 'common_registration_panel_button_facebook': 'Continue with Facebook', 'common_registration_panel_button_google': 'Continue with Google', 'common_registration_panel_button_instagram': 'Continue with Instagram', 'common_registration_panel_button_kakaotalk': 'Continue with KakaoTalk', 'common_registration_panel_button_line': 'Continue with LINE', 'common_registration_panel_button_phone': 'Use phone number', 'common_registration_panel_button_phoneoremail': 'Use phone or email', 'common_registration_panel_button_twitter': 'Continue with Twitter', 'common_registration_panel_button_vk': 'Continue with VK', 'common_registration_panel_copy': 'Create a profile, follow other accounts, make your own videos, and more.', 'common_registration_panel_entry_1': 'Already have an account? %s', 'common_registration_panel_entry_2': 'Log in', 'common_registration_panel_title': 'Sign up for TikTok', 'common_registration_password_button': 'Next', 'common_registration_password_error': 'Use 8-20 characters from at least 2 categories: letters, numbers, special characters.', 'common_registration_password_pc_1': '8 to 20 characters', 'common_registration_password_pc_2': 'Characters from at least 2 categories: letters, numbers, special characters', 'common_registration_password_pc_error': 'Enter a password to continue', 'common_registration_password_pc_text': 'Your password must have:', 'common_registration_password_text': 'Use 8-20 characters from at least 2 categories: letters, numbers, special characters.', 'common_registration_password_title': 'Create password', 'common_registration_phone_input_agreement': 'By continuing, you agree to TikTok’s %1$s and confirm that you have read TikTok’s %2$s. If you sign up with SMS, SMS fees may apply.', 'common_registration_phone_input_button': 'Send code', 'common_registration_phone_input_error': 'Enter a valid phone number', 'common_registration_phone_input_error_whatsapp': 'No WhatsApp account linked to this number. Re-enter your phone number or use SMS.', 'common_registration_phone_input_popup_button': 'Cancel', 'common_registration_phone_input_popup_title': 'Get verification code', 'common_registration_phone_sms_button': 'Resend code', 'common_registration_phone_sms_error': 'Incorrect code', 'common_registration_phone_sms_text': 'Your code was sent to %s.', 'common_registration_phone_sms_title': 'Enter 4-digit code', 'common_registration_phone_voice_button': 'Request phone call', 'common_registration_phone_voice_error': 'Wait a moment before requesting another code', 'common_registration_phone_voice_popup': "We'll call %s with your verification code", 'common_registration_phone_voice_text': 'Didn’t get a code? %s', 'common_registration_phone_whatsapp_title': 'Enter 4-digit code from WhatsApp', 'common_registration_privacy_policy': 'Privacy Policy', 'common_registration_switch_email': 'Sign up with email', 'common_registration_switch_phone': 'Sign up with phone', 'common_registration_terms_and_conditions_agree': 'I agree to all terms and conditions below.', 'common_registration_terms_and_conditions_decription_pp': 'TikTok Privacy Policy', 'common_registration_terms_and_conditions_decription_terms': 'TikTok Terms of Service', 'common_registration_terms_and_conditions_error_toast': 'To continue, please agree to our Terms of Service and Privacy Policy.', 'common_registration_terms_and_conditions_next': 'Next', 'common_registration_terms_and_conditions_title': 'Terms and conditions', 'common_registration_terms_use': 'Terms of Service', 'common_registration_username_button': 'Sign up', 'common_registration_usernameerror sensitivity': 'This username isn’t available.', 'common_registration_username_error_format': 'Only letters, numbers, underscores, or periods are allowed', 'common_registration_username_error_long': 'Your username can have up to 24 characters', 'common_registration_username_error_number': "Usernames can't contain numbers only", 'common_registration_username_error_occupied': 'This username isn’t available. Try a suggested username, or enter a new one.', 'common_registration_username_error_period': "Usernames can't end with a period", 'common_registration_username_error_short': 'Include at least 2 characters in your username', 'common_registration_username_placeholder': 'Username', 'common_registration_username_skip': 'Skip', 'common_registration_username_suggested': 'Suggested', 'common_registration_username_suggested_2': 'We’ve suggested a username for you', 'common_registration_username_suggested_PC': 'These suggested usernames are available\t', 'common_registration_username_text': 'You can always change this later.', 'common_registration_username_title': 'Create username', 'common_verify_email_text': 'Your code was emailed to {email}.', 'common_verify_password_text': 'To continue, log in with your password.', 'common_verify_sms_text': 'An SMS with your code was sent to {mobile}.', 'common_verify_title': 'Verify account', 'confirm_submit': 'Confirm that you submitted your request?', 'contact_us_desc_empty': 'Description cannot be empty', 'contact_us_email_error': 'Enter a valid email address', 'contact_us_net_error': 'Connect to the internet to continue', 'contact_us_operation_error': 'Sorry, something wrong.', 'contact_us_server_error': 'Sorry, something wrong with the server. Please try again.', 'continue_SMS': 'To continue, you need to complete SMS verification first. You will receive an SMS code after tapping "Send code".', 'continue_account': 'To continue, you need to log in your associated {app_name} account first.', 'continue_password': 'To continue, you need to enter your password first.', 'createpw_error_1': 'Your new password can’t be the same as your old password', 'createpw_error_6': 'Invalid special character', 'createpw_helptext_2': 'Letters, numbers, and special characters', 'data_export_login_intro': 'To download your data, log in to your account', 'data_export_login_title': 'Log in to continue', 'ddl': 'the deadline', 'delete_acc': 'Delete account', 'delete_btn': 'Delete ', 'delete_continue': 'You are about to delete account {account_name}. Continue?', 'delete_failed': "Couldn't delete", 'delete_final_prompt': 'Are you sure you want to delete account {username}? ', 'delete_h1': 'If you delete your account:', 'delete_h1_confirm': 'Delete account {username}?', 'delete_h2': 'If you delete your account:', 'delete_h3': 'You will no longer be able to log in to TikTok with that account.', 'delete_h4': 'You will lose access to videos you posted. ', 'delete_h5': 'You will not be able to get a refund on any items you purchased.', 'delete_h6': 'Information that is not stored in your account, such as chat messages, may still be visible to others.', 'delete_h7': 'Your account will be deactivated for 30 days. During deactivation, your account won’t be visible to the public. After 30 days, your account will be deleted permanently.', 'delete_h8': 'Do you want to continue?', 'delete_s1': 'You will no longer be able to log in to TikTok with that account.', 'delete_s2': 'You will lose access to videos you posted.', 'delete_s3': 'You will not be able to get a refund on any items you purchased.', 'delete_s4': 'Information that is not stored in your account, such as chat messages, may still be visible to others.', 'delete_s5': 'Your account will be deactivated for 30 days. During deactivation, your account won’t be visible to the public. After 30 days, your account will be deleted permanently.', 'delete_tap_confirm': 'Tapping "Delete account" will delete TikTok account {username}', 'deleteaccount_duetstitch_desc': '{num, plural, one {%d Duet and Stitch video was created using your original video.} other {%d Duet and Stitch videos were created using your original videos.}}', 'deleteaccount_duetstitch_remove_desc': '{num, plural, one {You can choose to remove these videos after %d day.} other {You can choose to remove these videos after %d days. }}', 'deleteaccount_duetstitch_remove_desc_2': '{num, plural, one { If you recover your account within the next %d day, these videos will be restored.} other { If you recover your account within the next %d days, these videos will be restored.}}', 'deleteacct_activityrewards_title': 'Withdraw Activity Rewards balance', 'deleteacct_affiliateorders_desc': 'You have affiliate orders that are not settled. If you delete your account, you will lose commission.', 'deleteacct_affiliateorders_title': 'Settle all affiliate orders', 'deleteacct_coins_btn': 'Spend coins', 'deleteacct_coins_desc': 'Use all your coins before you lose them.', 'deleteacct_coins_title': 'Spend any remaining coins', 'deleteacct_confirmdelete_continue_desc': 'Do you want to continue?', 'deleteacct_confirmdelete_desc': 'Your account will be deactivated for %s and won’t be visible to the public. During deactivation, you can reactive your TikTok account anytime.', 'deleteacct_confirmdelete_desc_2': 'If you delete your account:', 'deleteacct_confirmdelete_desc_bold': '%d days', 'deleteacct_confirmdelete_drafts_bullet': 'Information that is not stored in TikTok servers, such as drafts, will be removed and you won’t be able to download it.', 'deleteacct_confirmdelete_login_bullet': 'You won’t be able to log in and use any TikTok services with that account.', 'deleteacct_confirmdelete_permanently_desc': 'After %s, your account and data will be deleted permanently.', 'deleteacct_confirmdelete_refunds_bullet': 'You won’t be able to get a refund on any items you purchased or received.', 'deleteacct_confirmdelete_title': '%s: delete this account?', 'deleteacct_confirmdelete_videoaccess_bullet': 'You will lose access to all your videos.', 'deleteacct_confirmdelete_visibility_bullet': "Information that isn't stored in your account, such as direct messages, may still be visible to others.", 'deleteacct_confirmdelete_with_balance_cancel_btn': 'Cancel', 'deleteacct_confirmdelete_with_balance_delete_btn': 'Delete', 'deleteacct_confirmdelete_with_balance_title': 'Delete %s?', 'deleteacct_continue_btn': 'Continue', 'deleteacct_creatorfund_desc': 'Some funds from Creator Fund balance haven’t transferred to your Income+ balance. If you delete your account, you will lose these funds.', 'deleteacct_creatorfund_title': 'View Creator Fund balance', 'deleteacct_creatorshoutouts_desc': "You have Shoutout requests that aren't completed or credited into Income+ balance. If you delete your account, you won't be able to continue creating and being paid for Shoutouts that you’ve completed.", 'deleteacct_creatorshoutouts_title': 'Complete all Shoutouts', 'deleteacct_datadl_btn': 'Request download', 'deleteacct_datadl_desc': 'We recommend downloading your TikTok data (like your video posts) because you can no longer download it once you delete your account. You won’t be able to download content that is not stored in TikTok servers, such as your drafts.', 'deleteacct_datadl_desc_1': 'If you already requested a copy of your data, wait until you download it before deleting your account.', 'deleteacct_datadl_disclaimer': 'By continuing, you reviewed your data request and wish to continue deleting your account', 'deleteacct_datadl_title': 'Download your TikTok data', 'deleteacct_datarev_btn': 'Review request', 'deleteacct_duetsstitch_keep': 'Keep Duet and Stitch videos', 'deleteacct_duetsstitch_remove': 'Remove Duet and Stitch videos', 'deleteacct_duetsstitch_title': 'Remove Duet and Stitch videos using your videos?', 'deleteacct_income_title': 'Withdraw Income+ balance', 'deleteacct_liteapp_toast': 'Use the TikTok Lite app to access details', 'deleteacct_livegifts_title': 'Withdraw LIVE gifts balance', 'deleteacct_loseservices_disclaimer': 'If you delete your account, you will lose the services above permanently.', 'deleteacct_myearnings_title': 'Withdraw My Earnings balance', 'deleteacct_promote_desc': 'Withdraw your remaining balance before deleting your account. It may take some time to process your withdrawal.', 'deleteacct_promote_title': 'Withdraw Promote balance', 'deleteacct_promotion_desc': "If you delete your account, your promotion will stop and you won't be able to track the status of your promotion anymore.", 'deleteacct_promotion_title': 'Complete all promotion orders ', 'deleteacct_referral_desc': 'Withdraw your TikTok and TikTok Lite balances separately before deleting your account. You and your friends will lose bonuses that are still pending.', 'deleteacct_referral_title': 'Withdraw referral balance', 'deleteacct_regularapp_toast': 'Use the regular TikTok app to access details', 'deleteacct_reviewbalance_btn': 'Review balance', 'deleteacct_reviewcomm_btn': 'Review commission', 'deleteacct_revieworders_btn': 'Review orders', 'deleteacct_shopping_desc': "If you delete your account, you won't be able to track the status of your orders anymore.", 'deleteacct_shopping_title': 'Complete all shopping orders ', 'deleteacct_shoppingorders_desc': "If you delete your account, you won't be able to track the status of your orders anymore.", 'deleteacct_shoppingorders_title': 'Complete all shopping orders ', 'deleteacct_shoutouts_desc': "You requested Shoutouts that aren’t completed. If you delete your account, you won't be able to track the status of your orders, or receive refunds if your order is canceled.", 'deleteacct_shoutouts_title': 'Receive Shoutouts', 'deleteacct_tiktokshop_title': 'Withdraw TikTok Shop affiliate commission ', 'deleteacct_title': '{num, plural, one {Review this %d task before deleting your account } other {Review these %d tasks before deleting your account }}', 'deleteacct_withdraw_desc': 'Withdraw your balance before deleting your account.', 'deleteacct_withdraw_sometime_desc': 'Withdraw your balance before deleting your account. It may take some time to process your withdrawal.', 'descrip_private_on_popup': "Your privacy matters on TikTok. Since you're under 16 years old, we've made your account private. This means only users you approve can follow you and view your videos. You can review and manage your account in your TikTok app settings.", 'descrip_private_on_signup': 'Your privacy matters at TikTok, so your account is private. With a private account, only users you approve can follow you and view your videos. You can review and manage your account in your TikTok app settings.', 'description_context': 'Please be specific as possible', 'description_remind': 'For your safety, do not include any personal information', 'description_title': 'Description', 'discoverability': 'Discoverability ', 'email': 'Email', 'email_address_placeholder': 'Email address', 'email_enter_password_h1': 'Enter password', 'email_is_taken': 'This email is already taken.', 'email_or_username': 'Email or Username', 'enter_4_digit_code': 'Enter 4-digit code', 'enter_password': 'Enter password', 'err_login_account': 'Incorrect account or password', 'err_login_code': 'Incorrect code', 'err_login_password': 'Incorrect password', 'error_toast': 'Something went wrong. Please try again.', 'forget_password': 'Forgot password?', 'forget_password_switch_email': 'Reset with email', 'forget_password_switch_phone': 'Reset with phone number', 'frequency_control': 'Too many attempts. Please try again later.', 'general_feedback': 'General feedback', 'get_app_title': 'Get the app.', 'get_help_bold': 'Get help', 'inbox': 'Inbox', 'incorrect_code': 'Incorrect code. Please try again.', 'incorrect_password': 'Incorrect password. Please try again.', 'link_close_popup': 'Close', 'link_learn_more_private_accounts': 'Learn more', 'link_learn_more_private_accounts_signup': 'Learn more about private accounts', 'load_error': 'Couldn’t load this page. Please try again later.', 'logback_reactivate_btn': 'Reactivate', 'logback_reactivate_desc': 'Missing the joy and creativity on TikTok? \nReactivate your account now and it will take just a few minutes to recover all of your content.', 'logback_reactivate_log_out_btn': 'Log out', 'login': 'Log in', 'login_deactivated_popup_webapp_button': 'Open TikTok', 'login_deactivated_popup_webapp_text': 'Your account was deactivated. To recover your account, log into your account in the TikTok app.', 'login_deactivated_popup_website_text_US': "Your account was deactivated. To recover your account, log into your account in the TikTok app. Don't have it installed? Scan this QR code to download the app.", 'login_deactivated_popup_website_text_nonUS': "Your account was deactivated. To recover your account, log into your account in the TikTok app. Don't have it installed? Text yourself a link to download the app.", 'login_deactivated_popup_website_title': 'Continue on the TikTok app', 'login_email_code': 'Enter your 6-digit code', 'login_email_verify_content': 'An email with a 6-digit verification code was just sent to %s', 'login_error_lock': 'Account has been locked and logged out.', 'login_expired': 'Login expired', 'login_expired_acc_deleted': 'Login expired. Your account has been deleted.', 'login_expired_try_again': 'Login expired. Please try again.', 'login_falied': "Couldn't log in", 'login_ins_body': "Please log in with your phone number or email. If you can't log in, use the TikTok app to recover your account.", 'login_ins_button': 'OK', 'login_ins_title': "Instagram login isn't supported", 'login_new_ins_PC_body_1': 'Please log in with your phone number or email. ', 'login_new_ins_PC_body_2': "If you can't log in, use the TikTok app to recover your account. Don’t have it installed? Text yourself a link to download the app.", 'login_new_ins_PC_body_3': "If you can't log in, use the TikTok app to recover your account. Don’t have it installed? Scan this QR code to download the TikTok app.", 'login_new_ins_PC_button': 'Send', 'login_new_ins_PC_title': "Couldn't log in with Instagram", 'login_new_ins_mobile_body': "Instagram login is no longer supported. Please log in with your phone number or email. If you can't log in, use the TikTok app to recover your account.", 'login_new_ins_mobile_button': 'Open app', 'login_next': 'Next', 'login_option': 'Use phone or email', 'login_option_fb': 'Log in with Facebook', 'login_option_google': 'Log in with Google', 'login_option_ins': 'Log in with Instagram', 'login_option_line': 'Log in with LINE', 'login_option_password': 'Log in with password', 'login_option_twitter': 'Log in with Twitter', 'login_page_lock': 'This account has been locked. To unlock, email feedback@tiktok.com or report the problem on the app', 'login_risk_SMS_1': 'For security purposes, use SMS verification to continue.', 'login_risk_SMS_2': 'For security purposes, log in with phone number to continue.', 'login_risk_popup_body': 'For security purposes, use the TikTok app to continue.', 'login_risk_popup_button': 'Open TikTok', 'login_risk_popup_pc_body': 'For security purposes, continue on the TikTok app. Don’t have it installed? Text yourself a link to download the app.', 'login_risk_popup_pc_body_2': 'For security purposes, continue on the TikTok app. Don’t have it installed? Scan this QR code to download the TikTok app.', 'login_risk_popup_pc_done': "You'll receive a text message with a download link.", 'login_risk_popup_pc_title': 'Continue on the TikTok app', 'login_send_code_email': 'Send code via email', 'login_send_code_sms': 'Send code via SMS', 'login_sms_code': 'Enter your 4-digit code', 'login_sms_verify_content': 'A text message with a 4-digit verification code was just sent to %s', 'login_tab': 'Log in to verify date of birth | TikTok', 'login_title': 'Log in to TikTok', 'login_to_search': 'Log in to search for popular content', 'login_try_another_method': 'Try another method', 'login_verification_do_not_ask': "Don't ask again on this device", 'logout': 'Log out', 'manage_account': 'Manage account ', 'mus_age_gate_tips': "Your birthday won't be shown publicly.", 'mus_agegate_error_ftc_desc': 'We will provide you a more appropriate experience of TikTok and you will only be able to log in to TikTok using the username and password you entered.', 'mus_agegate_error_ftc_title': 'Confirmation', 'mus_agegate_not_eligible': "Sorry, looks like you're not eligible for TikTok... but thanks for checking us out!", 'mus_create_account_desc': 'Enter a username to set up your account. You cannot use your real name or other personal information as the username.', 'mus_create_account_desc_pc': 'You cannot use your real name or other personal information as the username.', 'mus_error_code': 'Verification failed. Please click Resend and try again.', 'mus_ftc_detect_agegate': 'Providing your date of birth helps make sure that you get the right TikTok experience.', 'mus_password_too_long': 'Password too long', 'network_error_sub': 'Connect to the internet and try again.', 'network_error_title': 'Network error', 'new_password_placeholder': 'Enter new password', 'non_registered': 'Not registered yet', 'not_associated_account': 'This account is not associated with your TikTok account. Try again.', 'not_yet_button': 'Not yet', 'ok_btn': 'OK', 'passport_did_banned': 'Your device was banned.', 'passport_uid_banned': 'Your account was currently suspended.', 'password': 'Password', 'phone': 'Phone', 'phone_number': 'Phone number', 'phone_number_is_taken': 'This phone number is already taken.', 'precheck_music_popup_body_if_delete': 'If you delete your account, you will lose your access to all TikTok Music premium services. There will be no refund.', 'precheck_music_popup_body_tiktok_music_bold': 'TikTok Music', 'precheck_music_popup_body_to_delete': 'To delete your account, you must first cancel your recurring TikTok Music premium subscription billing. There is guidance on how to do so on TikTok Music.', 'precheck_music_popup_button_review_plan': 'Review plan', 'precheck_music_popup_cant_delete_button_ok': 'OK', 'precheck_music_popup_title_cant_delete': "Your account can't be deleted", 'precheck_music_popup_title_review_plan': 'Review TikTok Music premium plan', 'precheck_music_reminder_body_addition_data_download': 'Data on TikTok Music has to be downloaded through the privacy settings on the TikTok Music app.', 'precheck_music_toast_review_plan': 'Use TikTok Music app to review premium plan details', 'privacy_h1': 'Privacy', 'private_acc': 'Private account ', 'private_acc_ads': 'To switch to a Private Account, turn off ad authorization on the TikTok app in Settings and privacy > Privacy.', 'private_acc_desc': "With a private account, only users you approve can follow you and watch your videos. Your existing followers won't be affected.", 'private_acc_hint': "With a private account, only users you approve can follow you and watch your videos. Your existing followers won't be affected.", 'profile_unlogged_button': 'Sign up', 'profile_unlogged_text': 'Sign up for an account', 'profile_unlogged_title': 'Profile', 'reactivate_btn': 'Reactivate', 'reactivate_h1': 'Reactivate your TikTok account', 'reactivate_h2': 'Your account is currently under deactivation.', 'reactivate_h3': 'If you want to cancel deactivation and recover the account, please tap "Reactivate" below.', 'reactivate_h4': 'Please note you will need to log in the account again after cancelling deactivation, and it may take a few moments for an account to be fully activated.', 'reactivate_toast': 'Welcome back. It may take a few moments before your account is fully activated ', 'refresh': 'Refresh', 'register_page_agree_all_kr': 'I agree to the TikTok Terms of Service and Privacy Policy and allow trending content and promotional notifications.', 'register_page_marketing_push_subtitle': 'Get notifications about trending videos and promotions on TikTok. You can review and edit your settings at any time. Not allowing this type of notification does not limit your use of the TikTok service.', 'register_page_marketing_push_title': 'Trending content and promotional notifications (Optional)', 'registration_back_popup_button_1': 'Stay on this page', 'registration_back_popup_button_2': 'Skip to finish', 'registration_back_popup_title': 'Skip this step and complete the registration?', 'registration_phone_search_empty': 'No results found', 'registration_phone_search_placeholder': 'Search', 'relaunchscreen_modal_button': 'Relaunch app', 'relaunchscreen_modal_desc': 'Relaunch TikTok to access an experience designed just for you.', 'relaunchscreen_modal_title_a': 'Welcome to TikTok', 'relaunchscreen_modal_title_b': 'TikTok for Younger Users', 'reminder_buyer_agreement': 'Agreement', 'reminder_buyer_checkbox_context': "You have orders that are not completed. By deleting your account, you won't be able to track the status of your orders anymore. ", 'reminder_checkbox_toast': 'To continue, check the box for the "Agreement" notice', 'reminder_creator_checkbox_context': "You have affiliate commission that hasn't been withdrawn. By deleting your account, you will lose commission from affiliate orders that haven't been settled.", 'reminder_creator_order_checkbox_context': "You have affiliate orders that are not settled. By deleting your account, you will lose commission from affiliate orders that haven't been settled.", 'report_a_problem': 'Report a problem', 'request_ddl_expired': 'Request deadline expired', 'request_not_approved': 'Request not approved', 'request_under_review': 'Request under review', 'resend_code': 'Resend code', 'retrieve_video_attachment_name': 'Video download link', 'retrieve_video_email_description': 'Dear user,\n\nThanks for requesting your video data. You can view your download link in the attachment below.\n\nLink will only work for the next 30 days. Because it may contain personal information, be sure to keep the link private and only download the archive to your own computer.\n\nTo download your video, you may need to copy all the video links in the attachment to a download software to batch download them.\n\nIf you cannot open some video files, you may need to install another media player to try again.\n\nRegards,\nTikTok Team', 'retrieve_video_email_description_no_videos': "Dear user,\n\nSeems like you don't have any videos which need to be exported. If you have any questions, please contact us via in-app feedback option.\n\nRegards,\nTikTok Team", 'retrieve_video_email_title': 'TikTok Video Download', 'review_asap': 'We will review your report as soon as possible.', 'search_account': 'Accounts', 'search_bar_login': 'Search accounts and videos', 'search_see_more': 'See more', 'search_top': 'Top', 'search_video': 'Videos', 'security_step_verification': '2-step verification', 'select_a_topic': 'Select a topic', 'select_region': 'Select country/region', 'send_code_fail': "Couldn't send code. Please try again.", 'server_error_sub': 'Sorry about that! Please try again later.', 'server_error_title': 'Something went wrong', 'setting_bind_phone_input_title': 'Enter phone number', 'setting_password_code_email_text': 'To set your password, enter the 6-digit code emailed to {email}.', 'setting_password_code_sms_text': 'To set your password, enter the 4-digit code sent to {mobile}.', 'setting_password_email_verify_title': 'Enter email address', 'setting_privacy_unlogged_text': 'Personalization', 'setting_privacy_unlogged_title': 'PERSONALIZATION', 'setting_unlogged_account_button': 'Sign up', 'setting_unlogged_account_text': 'My account', 'settings': 'Settings', 'settings_phone_number': 'You can link a phone number to your account in "Settings and Privacy" > "Manage account".', 'settings_safety_phone': 'In order to keep your account safe, we need to verify your phone number.', 'settings_updated': 'Settings updated ', 'sign_up': 'Sign up', 'step_verification_cancel': 'Cancel', 'step_verification_email_verification': 'Email verification', 'stop_seller_remove_pop_context': 'To delete your TikTok account, unlink it from the TikTok Shop Seller Center. You can do this under {0} in the Seller Center. You may also visit seller.tiktok.com on your browser to do so.', 'stop_seller_remove_pop_context_hyperlink': 'My Account', 'stop_seller_remove_pop_cta': 'Go to Seller Center', 'stop_seller_remove_pop_title': 'Your account can’t be deleted', 'switch_public_desc': "If you switch to a public account, anyone can watch your videos. Users may be able to Duet, Stitch, or download your videos depending on what you choose in Settings and privacy. You won't need to approve followers and all pending follow requests will be automatically approved. ", 'switch_public_h1': 'Switch to public account? ', 'thanks_for_reporting': 'Thanks for reporting', 'title_private_on': 'Private account: On', 'toast_restricted_fam_pairing': 'Setting restricted by Family Pairing', 'transaction_report': 'Transaction', 'try_again_btn': 'Try again', 'tv_login_tiktoktv-desc': 'View your following feed, browse creator profiles, like videos, and more.', 'tv_login_title': 'Log in to TikTok', 'tv_sign_up_title': 'Sign up for TikTok', 'two_step_sms_verification': 'SMS verification', 'twostep_verification_useemail': 'Use email instead', 'twostep_verification_usepassword': 'Use password instead', 'twostep_verification_usesms': 'Use SMS instead', 'twosv_login_sms_block_content': "To continue, log in to TikTok through the 3rd-party account you signed up with so we can confirm it's you trying to log in.", 'twosv_login_sms_block_title': "Couldn't log in with phone", 'twosv_login_switch_pw': 'Verify with password', 'twosv_recover_pw_popup_btn': 'Contact support', 'twosv_recover_pw_popup_desc': 'You are on an unrecognized device. Try resetting your password on a trusted device.', 'twosv_recover_pw_popup_title': "Couldn't reset password", 'upload_vid': 'Upload video', 'user_original_sound_titile': 'Original sound', 'verification': 'Verification', 'verification_code': 'Verification code', 'verification_failed': "Couldn't verify. Try again.", 'verify_continue': 'Verify and continue', 'verify_date_of_birth': 'Verify date of birth', 'verify_tab': 'Verify date of birth on TikTok', 'webapp_account_deletion_enter_code': 'Enter 4-digit code', 'webapp_coin_recharge_login': 'Log in to get coins', 'webapp_descrip_private_on_popup_fr_combined': "Since you're under 16 years old, we've made your account private. This means only users you approve can follow you and watch your videos. We've also made some other changes to your settings to protect your privacy. You can review these changes in your TikTok app settings. Use TikTok in a responsible way. Publishing illegal content exposes you to criminal and civil sanctions."}}}, 'partial': False}, 'LoginContextModule': {'initialized': True, 'phoenix': False, 'platformConfig': {'show_num': 3, 'order': 'FACEBOOK,GOOGLE,TWITTER,APPLE,INSTAGRAM'}, 'emailSuffixConfig': ['gmail.com', 'hotmail.com', 'outlook.com', 'yahoo.com', 'icloud.com'], 'loginTitle': 'common_login_panel_title', 'loginSlogan': 'common_login_panel_copy', 'signUpTitle': 'common_registration_panel_title', 'signUpSlogan': 'common_registration_panel_copy', 'aid': '1459', 'disableSignup': False, 'isSecurityVerification': False, 'hideHomePage': False, 'loginType': 'webapp', 'redirectUrl': 'https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1', 'isModal': False, 'hideCloseButton': False, 'hideToggleLoginSign': False, 'signupConfig': {'enable': True, 'text': {}}, 'forceLogin': False, 'emailConsent': True, 'ttpConfig': {'open': True, 'syncSeverList': [{'name': 'global', 'domain': 'https://web-va.tiktok.com'}, {'name': 'ttp', 'domain': 'https://us.tiktok.com'}]}, 'preventSignupText': {}}}

leoleepsyche commented 1 year ago

I tried in the cloud server. it also occurs the same problem as above. Is there any direction for me to fix it ?

Many thanks Geng

dfreelon commented 1 year ago

The issue is that the server is not returning a webpage containing the correct JSON package, which I'm pretty sure is a cookie issue. Here is what your JSON keys are supposed to look like:

correct = pyk.get_tiktok_json('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1')
correct.keys() #returns dict_keys(['AppContext', 'BizContext', 'SEO', 'SharingMeta', 'ItemList', 'ItemModule', 'UserModule', 'VideoPage', 'I18n'])

As you can see, the ItemList key is right there. Now what you're getting is the following:

incorrect = pyk.get_tiktok_json('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1')
incorrect.keys() #returns dict_keys(['AppContext', 'BizContext', 'I18n', 'LoginContextModule'])

Note the conspicuous lack of ItemList. But the presence of LoginContextModule gives you a clue: are you logged in to TikTok on any browser on your machine? If not, you should be. If you are logged in, you can try the following:

import browser_cookie3
import requests
headers = {'Accept-Encoding': 'gzip, deflate, sdch',
           'Accept-Language': 'en-US,en;q=0.8',
           'Upgrade-Insecure-Requests': '1',
           'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
           'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
           'Cache-Control': 'max-age=0',
           'Connection': 'keep-alive'}
cookies = browser_cookie3.load()
tt = requests.get('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',
                   headers=headers,
                   cookies=cookies,
                   timeout=20)
with open('tiktok_test.htm','w',encoding='utf8') as f:
    f.write(tt.text)

This will save the video webpage locally to a file called "tiktok_test.htm". Open it in Firefox or another non-Chrome browser--you should see something like this. If you see something different, like a CAPTCHA screen, that means the TT server isn't getting the right cookie. It might have something to do with your ISP or geographical location--you could try using a proxy server outside your country. If you do see what's in that screenshot, then I'm not sure what's going on. My only suggestion is to try from a different computer and/or ISP.

leoleepsyche commented 1 year ago

Thanks for your kind reply. Yes, I tried your suggestion, logging in to the browser and the codes given by you. the "tiktok_test.htm" is a login page. Screenshot 2022-12-05 at 15 54 47. Now I am in Italy. and I also use the VPN. it reports the same result.

Thanks for all your help.

Best Wishes. Geng

dfreelon commented 1 year ago

Yeah, so you should try using the browser_name parameter of save_tiktok while making sure you're logged in to TikTok in that browser. So if using Firefox it would be:

pyk.save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',True,'video_data.csv',browser_name='firefox')

This is the same advice I gave above but you never confirmed whether you're logged in or not. The fact that you're seeing that login screen makes me think either you're not logged in or you're not using the browser_name parameter, but both are required.

Also, you'll need to do all this on a local machine--I don't think it will work on the cloud. Another option would be to try traktok which takes a different approach to cookies, but it's in R.

leoleepsyche commented 1 year ago

As my laptop did not install firefox before, I tired it again. it reports other issues. I paste them to you. /Applications/anaconda3/lib/python3.9/site-packages/pandas/io/parsers/readers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options) 676 kwds.update(kwds_defaults) 677 --> 678 return _read(filepath_or_buffer, kwds) 679 680

/Applications/anaconda3/lib/python3.9/site-packages/pandas/io/parsers/readers.py in _read(filepath_or_buffer, kwds) 573 574 # Create the parser. --> 575 parser = TextFileReader(filepath_or_buffer, **kwds) 576 577 if chunksize or iterator:

/Applications/anaconda3/lib/python3.9/site-packages/pandas/io/parsers/readers.py in init(self, f, engine, **kwds) 930 931 self.handles: IOHandles | None = None --> 932 self._engine = self._make_engine(f, self.engine) 933 934 def close(self):

/Applications/anaconda3/lib/python3.9/site-packages/pandas/io/parsers/readers.py in _make_engine(self, f, engine) 1232 1233 try: -> 1234 return mapping[engine](f, **self.options) 1235 except Exception: 1236 if self.handles is not None:

/Applications/anaconda3/lib/python3.9/site-packages/pandas/io/parsers/c_parser_wrapper.py in init(self, src, kwds) 73 74 kwds["dtype"] = ensure_dtype_objs(kwds.get("dtype", None)) ---> 75 self._reader = parsers.TextReader(src, kwds) 76 77 self.unnamed_cols = self._reader.unnamed_cols

/Applications/anaconda3/lib/python3.9/site-packages/pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.cinit()

EmptyDataError: No columns to parse from file

It seems your suggestion worked.

Thank you sooooo much.!

dfreelon commented 1 year ago

From your answer I can't tell whether you were successful. I don't see any lines from pyktok in your traceback, so not sure what's going on.

leoleepsyche commented 1 year ago

A big thanks to you.

Yes. as every time when I use import pyktok as pyk. it will report a cookies problem. I copy your code and changed the line. it shows in the below picture.

Screenshot 2022-12-05 at 16 48 57

it seems worked. when I change the browser to firefox. `

correct = get_tiktok_json('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1') dict_keys(['AppContext', 'BizContext', 'SEO', 'SharingMeta', 'ItemList', 'ItemModule', 'UserModule', 'VideoPage', 'I18n']) `

From your answer I can't tell whether you were successful. I don't see any lines from pyktok in your traceback, so not sure what's going on.

dfreelon commented 1 year ago

OK, well I'm glad you got it working. Closing this...