rss-bridge icon indicating copy to clipboard operation
rss-bridge copied to clipboard

Gates Notes failed with: Syntax error

Open johnmaguire opened this issue 8 months ago • 3 comments

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

johnmaguire avatar Mar 27 '25 19:03 johnmaguire

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.

KappaPrajd avatar Apr 02 '25 08:04 KappaPrajd

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?

corenting avatar Apr 02 '25 10:04 corenting

holy shit his new blog is a clusterfuck. dont think this can be salvaged

dvikan avatar May 08 '25 21:05 dvikan