Read the statement by Michael Teeuw here.
MMM-News and BBC
-
@sdetweil OK I’ve found a News module error in the MagicMirror-out.log:
[06.09.2022 20:26.46.502] [LOG] [NEWS] Error : https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=<redacted> TypeError: Cannot read properties of undefined (reading 'toString') at slugify (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:24:17) at cb (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:89:33) at getArticles (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:135:22) at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
I’ve removed my API key string, but the rest is copy/paste.
I tried a git pull on the module the other day before my first post here, and it’s up to date.
-
@DarrenHill that error means the content back from the API is not as expected. either nothing there or the format changed.
-
@sdetweil OK, although from what @mumblebaj posted above it still works for him with my config?
I’ll try removing it and reinstalling it and see if that helps.
-
@DarrenHill not a reinstall thing
-
@sdetweil OK.
So I guess I’m stuck for now unless you or the others have any suggestions.
I was wondering as you say if the incoming info format had changed when it started throwing the #null text, but it’s weird that it works for others?
-
@DarrenHill
Well, I also tried your config with my apiKey and it worked.Try this in your browser and let’s see what happens.
https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY
-
@DarrenHill ediut node_helper.js
insert this line
console.log("fetch result=",result)
after line 128 so it looks like this
var result = await response.json() console.log("fetch result=",result) return(result)
then rerun MM… best to stop using pm2 for all this
pm2 stop all
then
cd ~/MagicMirror npm start >somefile.txt 2>&1
wait 15 seconds
ctrl-m to minimize MM
then ctrl-c on the terminal window you use to start MMthen edit somefile.txt
to look for status:
(ctrl-w in nano)this is another dumb api… there is an error , but it doesn’t return it in the return code, but in the data!!!.. stupid…
for mine it says (with a bad key)
[06.09.2022 14:56.29.138] [LOG] fetch result= { status: 'error', code: 'apiKeyInvalid', message: 'Your API key is invalid or incorrect. Check your key, or go to https://newsapi.org to create a free API key.' }
-
@MMRIZE said in MMM-News and BBC:
@DarrenHill
Well, I also tried your config with my apiKey and it worked.Try this in your browser and let’s see what happens.
https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY
It should be like something similar to this(if your apiKey is valid);
{"status":"ok","totalResults":10,"articles":[{"source":{"id":"bbc-news","name":"BBC News"},"author":"BBC News","title":"Vaping: Juul to pay $438.5 m in youth marketing probe","description":"US prosecutors accuse the firm of \"relentlessly\" targeting underage buyers.","url":"http://www.bbc.co.uk/news/business-62813896","urlToImage":"https://ichef.bbci.co.uk/news/1024/branded_news/1F91/production/_126618080_323275f83124ee4f8c4cbed6b71c6807fe92d57c.jpg","publishedAt":"2022-09-06T19:52:21.045172Z","content":"Juul Labs will pay $438.5m (£380m) to end a probe of its advertising to underage buyers as it rose to be one of the top e-cigarette firms in the US.\r\nThe deal with 33 states and Puerto Rico also rest… [+1826 chars]"}, …
-
@MMRIZE said in MMM-News and BBC:
https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY
I get this, which looks slightly different to yours? :
{"status":"ok","totalResults":10,"articles":[{"title":"Vaping: Juul to pay $438.5 m in youth marketing probe","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T19:52:21.045172Z","url":"http://www.bbc.co.uk/news/business-62813896"},{"title":"Eliza Fletcher: Police identify body found in search for heiress","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:52:18.6995928Z","url":"http://www.bbc.co.uk/news/world-us-canada-62811661"},{"title":"Ukraine war: Russians to pay €45 more to enter EU under new rules","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:37:23.3671715Z","url":"http://www.bbc.co.uk/news/world-europe-62811675"},{"title":"Fat Leonard: Malaysian businessman linked to US Navy scandal escapes","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:22:22.2671956Z","url":"http://www.bbc.co.uk/news/world-us-canada-62764226"},{"title":"Canada stabbings: Police hunt remaining suspect after Saskatchewan attacks","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T15:22:24.1190163Z","url":"http://www.bbc.co.uk/news/live/world-us-canada-62811629"},{"title":"Ukraine: Ben Stiller and Sean Penn latest Americans banned from Russia","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T12:52:14.8462267Z","url":"http://www.bbc.co.uk/news/world-europe-62806655"},{"title":"Canada stabbings: Relatives identify 'random' victims of Saskatchewan attack","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T11:07:21.1055569Z","url":"http://www.bbc.co.uk/news/world-us-canada-62804826"},{"title":"Liz Truss: Boris Johnson to give farewell speech before new PM takes office","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T04:37:21.3806544Z","url":"http://www.bbc.co.uk/news/live/uk-politics-62802807"},{"title":"Keith Davis: He was protecting the oceans - then he disappeared","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-05T20:52:23.0241991Z","url":"http://www.bbc.co.uk/news/world-us-canada-62603911"},{"title":"Timed Teaser: How did Putin mark Gorbachev's death?","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-05T20:37:23.1798468Z","url":"http://www.bbc.co.uk/news/world-us-canada-62763889"}]}
@sdetweil I’ll do your test now…
-
@DarrenHill
Ok, I found something. I don’t know why, but your result has “articles.source.Name” instead of “articles.source.name” that makes this error.