sumeetweb / Thinki-Downloader

A php based utility to download courses from Thinkific based sites like PacktPub for personal offline use.
MIT License
74 stars 28 forks source link

Only Retrieves JSON #62

Closed K8EE closed 6 months ago

K8EE commented 6 months ago

Who I am + Context: minimum coding background, found your git while trying to figure out how to download a free course hosted through thinkific course, got the basics of how to setup docker/IDE etc.

Followed the instructions to get CLIENT_DATE and COOKIE_DATA + run docker in Visual Studio Code

Course Case Interview Fundamentals at Crafting Case Studies: https://students.craftingcases.com/

==============

My .env looks like this

 # For downlaoding all content, use the course link.
COURSE_LINK="https://students.craftingcases.com/api/course_player/v2/courses/case-interview-fundamentals
"
# For selective content downloads, use the JSON file created from Thinki Parser. 
# Copy the file to Thinki Downloader root folder (where thinkidownloader3.php is there).
# Specify the file name below. Ex. COURSE_DATA_FILE="modified-course.json" 
COURSE_DATA_FILE=""

CLIENT_DATE="2024-04-24T16:46:03.899Z"
COOKIE_DATA="_thinkific_session=VFM4NGY0N0p4SldCbUtLNUFCaFR5VjZVM3dkck9TL2xJZFdidkJOSktXNUZITjlFV1V1NmRlUlQ3dnk2YkVLT0xYSjFyU0FDMmdpM2toUW44Z3RRMFRWRWN0Tlo3Rnd3Tm5lU0ZSTnZMMTFCN0puV1pXU3loWjArOVdjbTZTTGNYQWlrd1E2aFhJTjQ0a0FIVjJuTHdRd2FvbFptcVdMNEd3S2IzQjNUS2JIL0hQMzhKUkdGZnZyRFNuRytLMVZuRTVHOFJjbjFkU1VDTCt3aHpwa0tEcEFIWVpHSlprY0U0QVZ1RFdKU0VUKy9WLzE3SUo0TC9CTUpPRHpEckxDTkFkQXpxRHR6Z2tVQ1NsaWc2U0Y4aGFJR1hUM24yem5ERE00ckE3NmNlVE9hZFRyV0RmMFNCUC9hWG9sL1IxUWdnZjc3MGVoTEhkRmVObFBGdmtzWk1zRCtSeW1ubjdqQnlFL3hFZkZadTdGTFR2MHV0TEJDZ3Q0OEVtSmJWMmt4MUIzY3BvVjJPZ1dSNTVNbUhNRHdzbHp6YXdnQmlnemZXd01SMVZxZzF3eWt0UmNCdFZLRVlRRGc5eTZQeVkwMzQrWlI0M3dNeThESGpOMFhsUE1CdHR1YzI5STE4TmRxeHVmV0NWcnA2bjEwQUUyRmkxaUxzMG53T0tXZUhqWVQtLVZUZFlEOGZyU2NmOFN6dTBKRkg2Mmc9PQ%3D%3D--ff4012c793643318036482ba0e5219e8e7fe5c59; path=/; secure; HttpOnly; SameSite=None
"

# Quality Available: "Original File", "1080p", "720p", "540p", "360p", "224p"
VIDEO_DOWNLOAD_QUALITY="720p"`

Terminal looks like this:

PS C:\Users\katie\Documents\Thinki Git\Thinki-Downloader> docker-compose up
[+] Running 1/0
 ✔ Container ThinkiDownloader  Created                                                0.0s      
Attaching to ThinkiDownloader
ThinkiDownloader  | THINKIFIC DOWNLOADER
ThinkiDownloader  | Revision 6.3.2 ~ 16th December 2023
ThinkiDownloader  | Author : SumeetWeb ~ https://github.com/sumeetweb
ThinkiDownloader  | Consider buying me a coffee at : https://www.ko-fi.com/sumeet
ThinkiDownloader  | Want to download only selected videos? Thinki-Parser Experimental is available!
ThinkiDownloader  | ----------------------------------------------------------
ThinkiDownloader  | Fetching Course Contents... Please Wait...
ThinkiDownloader exited with code 0

===========================

All I get is a .JSON file

My guess is that I messed up on grabbing the CLIENT_DATE and COOKIE_DATA or maybe some thinkific courses are setup different?

Adding Screenshots of what I grabbed too

Screenshot 2024-04-24 101120 Screenshot 2024-04-24 101131 Screenshot 2024-04-24 101144 Screenshot 2024-04-24 101433
sumeetweb commented 6 months ago

Hello there. Thank you for trying out the script.

Can you try using the cookie data from request headers, not the response header and try again?

It seems to work here. image

Edit: The docker seems to be work fine too. image

K8EE commented 6 months ago

Thanks, Resolved!

Had a friend try too and he also ended up with an empty JSON. Trouble shot further by replicating your exact process with the dentistry website and when I tried again with Crafting Case Studies the files properly downloaded. Not sure what was going on.

My guess is the cookie timed out or something like that.

Thanks again!