I need to change the token file path, because when using po_token_verifier on AWS Lambda, the file is created in a non-writable directory. But when changing it, I always get Bad Request 400.
This is my code:
tmp_cache_dir = f'{tmp_folder}/pytubefix_cache'
yt = YouTube(
video_link, use_po_token=True,
token_file=os.path.join(tmp_cache_dir, 'tokens.json'),
po_token_verifier=po_token_verifier_function
)
It also doesn't matter if I put poToken and visitor_data manually in the console, I get the same result.
ERROR Error downloading video: HTTP Error 400: Bad Request
Traceback (most recent call last):
File "/Users/yannickerpelding/Documents/ClipMania/Code/ClipNow/ClipNow-Restructured/Services/Coordinator/src/local.py", line 52, in <module>
output = main.run(**event)
File "/Users/yannickerpelding/Documents/ClipMania/Code/ClipNow/ClipNow-Restructured/Services/Coordinator/src/main.py", line 35, in run
download.download_from_youtube(video_id=global_vars.video_id, max_resolution=global_vars.max_resolution,
File "/Users/yannickerpelding/Documents/ClipMania/Code/ClipNow/ClipNow-Restructured/Services/Coordinator/src/download.py", line 53, in download_from_youtube
download_video_from_youtube(
File "/Users/yannickerpelding/Documents/ClipMania/Code/ClipNow/ClipNow-Restructured/Services/Coordinator/src/download.py", line 158, in download_video_from_youtube
raise e
File "/Users/yannickerpelding/Documents/ClipMania/Code/ClipNow/ClipNow-Restructured/Services/Coordinator/src/download.py", line 143, in download_video_from_youtube
logging.info(f"Looking for best stream to download video in yt streams: {yt.streams}")
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/__main__.py", line 600, in streams
self.check_availability()
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/__main__.py", line 311, in check_availability
status, messages = extract.playability_status(self.vid_info)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/__main__.py", line 413, in vid_info
innertube_response = innertube.player(self.video_id)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/innertube.py", line 731, in player
return self._call_api(endpoint, query, self.base_data)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/innertube.py", line 674, in _call_api
response = request._execute_request(
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/site-packages/pytubefix/request.py", line 35, in _execute_request
return urlopen(request, timeout=timeout) # nosec
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/Users/yannickerpelding/anaconda3/envs/clipnow_lambda/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
I need to change the token file path, because when using po_token_verifier on AWS Lambda, the file is created in a non-writable directory. But when changing it, I always get Bad Request 400.
This is my code:
It also doesn't matter if I put poToken and visitor_data manually in the console, I get the same result.
Complete Error: