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 770 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

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              • 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