MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Trello gives a 403 error

    Scheduled Pinned Locked Moved Solved Troubleshooting
    4 Posts 3 Posters 454 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      Neoculture
      last edited by

      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?

      T 1 Reply Last reply Reply Quote 0
      • KristjanESPERANTOK Offline
        KristjanESPERANTO Module Developer @TrueSolara
        last edited by

        You can also try this fork https://github.com/benjaminflessner/MMM-Trello.

        1 Reply Last reply Reply Quote 0
        • T Offline
          TrueSolara @Neoculture
          last edited by

          @Neoculture

          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…

          T 1 Reply Last reply Reply Quote 1
          • T Offline
            TrueSolara @TrueSolara
            last edited by

            @Neoculture

            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
            Replace

              else {
                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. :)

            KristjanESPERANTOK 1 Reply Last reply Reply Quote 1
            • KristjanESPERANTOK Offline
              KristjanESPERANTO Module Developer @TrueSolara
              last edited by

              You can also try this fork https://github.com/benjaminflessner/MMM-Trello.

              1 Reply Last reply Reply Quote 0
              • S sdetweil has marked this topic as solved on
              • 1 / 1
              • First post
                Last post
              Enjoying MagicMirror? Please consider a donation!
              MagicMirror created by Michael Teeuw.
              Forum managed by Sam, technical setup by Karsten.
              This forum is using NodeBB as its core | Contributors
              Contact | Privacy Policy