Lilac broke Youtube Transcript import?

I had used the solution found in this thread to successfully import new YouTube transcripts in Koa, by setting transcript language English only (instead of en-US which isn’t supported by Tutor), and then clearing the video ID, and then re-clicking “import transcript”. However, I just recently tried this on my updated Lilac Tutor instance, and not only does it not re-import existing video transcripts, it will no longer import new video transcripts. Basically it’s back to the original behavior of just straight up acting like there’s no transcript available on YouTube, and that I need to manually upload ever transcript, which is untenable.

I can see “accept_language”: “en-US,en;q=0.9” in the below, and I created both en-US and en transcripts, but basically I still never seem to see a reply to the GET that is generated, so I suspect either Lilac broke, or YouTube changed what they expect to request transcripts… (I also note the first line says stuff about POST, but I only ever see GETs in the logs)

cms_1            | 2021-12-06 13:41:27,148 INFO 113 [tracking] [user 3] [ip 1.2.3.4] logger.py:41 - {"name": "/transcripts/check", "context": {"user_id": 3, "path": "/transcripts/check", "course_id": "", "org_id": ""}, "username": "Admin", "session": "c38e174349024be4867316907f9f21fc", "ip": "1.2.3.4", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36", "host": "not.my.domain.com", "referer": "https://not.my.domain.com/container/block-v1:MyOrg+MyClass+V1+type@vertical+block@76e38676405a4c24aa7e86f3110cef4e", "accept_language": "en-US,en;q=0.9", "event": "{\"GET\": {\"data\": [\"{\\\"locator\\\":\\\"block-v1:MyOrg+MyClass+V1+type@video+block@daa97e36dd134d758f1bece36459c9ce\\\",\\\"videos\\\":[{\\\"mode\\\":\\\"youtube\\\",\\\"video\\\":\\\"THISISTHEVIDEOID\\\",\\\"type\\\":\\\"youtube\\\"},{\\\"mode\\\":\\\"edx_video_id\\\",\\\"type\\\":\\\"edx_video_id\\\",\\\"video\\\":\\\"\\\"}]}\"]}, \"POST\": {}}", "time": "2021-12-06T13:41:27.147717+00:00", "event_type": "/transcripts/check", "event_source": "server", "page": null}
cms_1            | [pid: 113|app: 0|req: 1860/5267] 172.18.0.13 () {58 vars in 3188 bytes} [Mon Dec  6 13:41:27 2021] GET /transcripts/check?data=%7B%22locator%22%3A%22block-v1%MyOrg%2BMyClass%2BV1%2Btype%40video%2Bblock%40daa97e36dd134d758f1bece36459c9ce%22%2C%22videos%22%3A%5B%7B%22mode%22%3A%22youtube%22%2C%22video%22%3A%22THISISTHEVIDEOID%22%2C%22type%22%3A%22youtube%22%7D%2C%7B%22mode%22%3A%22edx_video_id%22%2C%22type%22%3A%22edx_video_id%22%2C%22video%22%3A%22%22%7D%5D%7D => generated 229 bytes in 108 msecs (HTTP/1.0 200) 6 headers in 299 bytes (1 switches on core 0)
nginx_1          | 172.18.0.4 - - [06/Dec/2021:13:41:05 +0000] http://not.my.domain.com "GET /transcripts/check?data=%7B%22locator%22%3A%22block-v1%MyOrg%2BMyClass%2BV1%2Btype%40video%2Bblock%40daa97e36dd134d758f1bece36459c9ce%22%2C%22videos%22%3A%5B%7B%22mode%22%3A%22youtube%22%2C%22video%22%3A%22THISISTHEVIDEOID%22%2C%22type%22%3A%22youtube%22%7D%2C%7B%22mode%22%3A%22edx_video_id%22%2C%22type%22%3A%22edx_video_id%22%2C%22video%22%3A%22%22%7D%5D%7D HTTP/1.1" 200 229 "https://not.my.domain.com/container/block-v1:MyOrg+MyClass+V1+type@vertical+block@76e38676405a4c24aa7e86f3110cef4e" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36" "1.2.3.4"
nginx_1          | 172.18.0.4 - - [06/Dec/2021:13:41:27 +0000] http://not.my.domain.com "GET /transcripts/check?data=%7B%22locator%22%3A%22block-v1%MyOrg%2BMyClass%2BV1%2Btype%40video%2Bblock%40daa97e36dd134d758f1bece36459c9ce%22%2C%22videos%22%3A%5B%7B%22mode%22%3A%22youtube%22%2C%22video%22%3A%22THISISTHEVIDEOID%22%2C%22type%22%3A%22youtube%22%7D%2C%7B%22mode%22%3A%22edx_video_id%22%2C%22type%22%3A%22edx_video_id%22%2C%22video%22%3A%22%22%7D%5D%7D HTTP/1.1" 200 229 "https://not.my.domain.com/container/block-v1:MyOrg+MyClass+V1+type@vertical+block@76e38676405a4c24aa7e86f3110cef4e" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36" "1.2.3.4"

I have confirmed this is still broken in Maple. I also double checked, and my youtube API key is present in the relevant Tutor config files:

grep -r YOUTUBE_API_KEY /home/tutor/.local/share/tutor/env/apps/openedx/config/
/home/tutor/.local/share/tutor/env/apps/openedx/config/lms.env.json:  "YOUTUBE_API_KEY": REMOVED
/home/tutor/.local/share/tutor/env/apps/openedx/config/cms.env.json:  "YOUTUBE_API_KEY": REMOVED

See here for a discussion of the same issue. It turns out the video xblock is broken due to a YouTube change…

1 Like

Thanks for pointing that out

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.