Read the statement by Michael Teeuw here.
MMM-News and BBC
-
@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. -
@MMRIZE yes, was just about to post that
-
@sdetweil I get this (for the relevant bit):
[06.09.2022 21:11.46.552] [LOG] fetch result= { status: 'ok', totalResults: 10, articles: [ { title: 'Vaping: Juul to pay $438.5 m in youth marketing probe', author: 'BBC News', source: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], 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: [Object], publishedAt: '2022-09-05T20:37:23.1798468Z', url: 'http://www.bbc.co.uk/news/world-us-canada-62763889' } ] } [06.09.2022 21:11.46.635] [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:136:22) at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
-
-
@MMRIZE said in MMM-News and BBC:
@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.Anything I can do to overcome that?
No idea why I’m getting different API returns to you guys…?
-
also doesn’t get ‘content’ or ‘description’, so those will fail too…
-
I tried to register for a new api key, but when I tried it told me that they don’t support the UK (where I am) so I wonder if that somehow has something to do with it.
This has obviously changed since I first registered, and given I’m getting some response from the API it is at least partially working, but besides that I have no idea…