Read the statement by Michael Teeuw here.
Trello gives a 403 error
-
I have just tried this evening to install the MMM-Trello module but all I keep getting on screen is a “403” error. I have gone through the instructions on how to get an API key, Token and List ID - although the instructions didn’t mention anything about how to set up a “Power-up” in order to get an API key, so I may have gotten something wrong there.
The error I get in mm-output.log is as follows:
[2024-04-16 18:07:01.331] [LOG] Error: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The request could not be satisfied</TITLE> </HEAD><BODY> <H1>403 ERROR</H1> <H2>The request could not be satisfied.</H2> <HR noshade size="1px"> Bad request. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. <BR clear="all"> If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. <BR clear="all"> <HR noshade size="1px"> <PRE> Generated by cloudfront (CloudFront) Request ID: L7l3Vmi9ENxYRatH9ppTYpkzLwGjimhhapEyq0z0KD0RANw3Wbg9YA== </PRE> <ADDRESS> </ADDRESS> </BODY></HTML> at Request._callback (/home/pi/MagicMirror/modules/MMM-Trello/node_modules/node-trello/lib/node-trello.js:88:13) at self.callback (/home/pi/MagicMirror/modules/MMM-Trello/node_modules/request/request.js:185:22) at Request.emit (node:events:514:28) at Request.<anonymous> (/home/pi/MagicMirror/modules/MMM-Trello/node_modules/request/request.js:1154:10) at Request.emit (node:events:514:28) at IncomingMessage.<anonymous> (/home/pi/MagicMirror/modules/MMM-Trello/node_modules/request/request.js:1076:12) at Object.onceWrapper (node:events:628:28) at IncomingMessage.emit (node:events:526:35) at endReadableNT (node:internal/streams/readable:1408:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { statusCode: 403, responseBody: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n' + '<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">\n' + '<TITLE>ERROR: The request could not be satisfied</TITLE>\n' + '</HEAD><BODY>\n' + '<H1>403 ERROR</H1>\n' + '<H2>The request could not be satisfied.</H2>\n' + '<HR noshade size="1px">\n' + 'Bad request.\n' + "We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.\n" + '<BR clear="all">\n' + 'If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.\n' + '<BR clear="all">\n' + '<HR noshade size="1px">\n' + '<PRE>\n' + 'Generated by cloudfront (CloudFront)\n' + 'Request ID: L7l3Vmi9ENxYRatH9ppTYpkzLwGjimhhapEyq0z0KD0RANw3Wbg9YA==\n' + '</PRE>\n' + '<ADDRESS>\n' + '</ADDRESS>\n' + '</BODY></HTML>', statusMessage: 'Forbidden' }
For the record, the Weather and Calendar app are pulling data correctly.
Any ideas?
-
You can also try this fork https://github.com/benjaminflessner/MMM-Trello.
-
Yeah, it looks like a change made by Trello/Atlassian:
https://developer.atlassian.com/cloud/trello/changelog/#CHANGE-1459
20 February 2024
DEPRECATION NOTICE
Trello API will no longer accept GET request with data in body
Rollout completed March 12th 2024
Trello’s API will no longer permit supplying a body with a GET request. Previous behavior in our API ignored the payloads provided with GET requests but these requests will now be blocked with a 403 response from our content delivery network.
To resolve issues resulting from this change ensure all GET requests to Trello’s API are sent without a payload.
I commented on the issue raised for MMM-Trello, and the author isn’t able to keep up with the development anymore. I’m going to see if I can pick it up, but no promises…
-
If you’re willing to edit code, a fix was posted on the MMM-Trello github issue:
Edit this file: ~/MagicMirror/modules/MMM-Trello/node_modules/node-trello/lib/node-trello.js
Replaceelse { options.json = this.addAuthArgs(this.parseQuery(uri, args)); }
with
else { options.json = true; // tells request to return json // options.json = this.addAuthArgs(this.parseQuery(uri, args)); }
I’ve confirmed it worked for me. :)
-
You can also try this fork https://github.com/benjaminflessner/MMM-Trello.
-