rss-bridge
rss-bridge copied to clipboard
Gates Notes failed with: Syntax error
JsonException: Syntax error in lib/utils.php line 20
index.php(73): RssBridge->main()
lib/RssBridge.php(39): RssBridge->{closure}()
lib/RssBridge.php(37): CacheMiddleware->__invoke()
middlewares/CacheMiddleware.php(44): RssBridge->{closure}()
lib/RssBridge.php(37): ExceptionMiddleware->__invoke()
middlewares/ExceptionMiddleware.php(17): RssBridge->{closure}()
lib/RssBridge.php(37): SecurityMiddleware->__invoke()
middlewares/SecurityMiddleware.php(19): RssBridge->{closure}()
lib/RssBridge.php(37): MaintenanceMiddleware->__invoke()
middlewares/MaintenanceMiddleware.php(10): RssBridge->{closure}()
lib/RssBridge.php(37): BasicAuthMiddleware->__invoke()
middlewares/BasicAuthMiddleware.php(13): RssBridge->{closure}()
lib/RssBridge.php(37): TokenAuthenticationMiddleware->__invoke()
middlewares/TokenAuthenticationMiddleware.php(10): RssBridge->{closure}()
lib/RssBridge.php(34): DisplayAction->__invoke()
actions/DisplayAction.php(54): DisplayAction->createResponse()
actions/DisplayAction.php(89): GatesNotesBridge->collectData()
bridges/GatesNotesBridge.php(31): Json::decode()
lib/utils.php(20): json_decode()
lib/utils.php(20)
Query string: action=display&bridge=GatesNotesBridge&format=Html
Version: 2025-01-26 (git.master.7c1e01b)
Os: Linux
PHP version: 8.2.28
Maintainer: @corenting
https://www.gatesnotes.com/api/TGNWebAPI/Get_Filtered_Article_Set?validYearsString=all&setNumber=0&sortByVideo=all&sortByTopic=all returns 404 now.
I tried looking up if the API routes have changes, but couldn't find any information about it. It may be that this API has been decommissioned unfortunately.
The blog has indeed changed. I don't have time to do the changes, but it now uses https://kontent.ai as a CMS. Some notes:
- The endpoints used by the frontend don't give a clean list of recent articles, but there is the API of kontent.ai: https://kontent.ai/learn/docs/apis/openapi/delivery-api .
- It needs an "environment ID" to identify the website, it's
12514eb8-7b51-008e-41a9-512542cf683b(it can be found in the JS files, or in the URL for images files as the first part of the path). - If you look for the environment ID in the JS files, you can find a valid JWT token for the delivery API. However I guess it's renewed frequently and would need to be extracted from the frontend by the bridge?
holy shit his new blog is a clusterfuck. dont think this can be salvaged