Skip to content

'HTTP Error 400: Bad Request' when setting token_file while using po_token_verifier on AWS Lambda #236

Description

@yannickErp

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.

Complete Error:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    BUGSomething isn't working

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions