'BAD REQUEST' When calling API using Fetch method in JavaScript











up vote
0
down vote

favorite












I'm trying to return some data from an API using the Fetch method, but I'm getting a 400 error. I'm probably missing something obvious, but I've been at this for so long I probably can't see the wood for the trees.



<script type="text/javascript">
function getJSON() {
const API = 'https://API-URL-ENDPOINT';
const QUERY = 'sample-query';
const A_KEY = '{API Key}';
const A_SEC = '{API Secret}';

let headers = new Headers();
headers.append('Authorization', 'Basic ' + USERNAME + ":" + PASSWORD);

{/* Fetch Method Here */}
fetch(API, {method: 'GET', headers: headers })
.then(response => response.json())
.then(json => console.log(json));
}

function parseJSON(response) {
return response.json()
}
</script>


If anyone can offer any hints, that would be great.










share|improve this question


























    up vote
    0
    down vote

    favorite












    I'm trying to return some data from an API using the Fetch method, but I'm getting a 400 error. I'm probably missing something obvious, but I've been at this for so long I probably can't see the wood for the trees.



    <script type="text/javascript">
    function getJSON() {
    const API = 'https://API-URL-ENDPOINT';
    const QUERY = 'sample-query';
    const A_KEY = '{API Key}';
    const A_SEC = '{API Secret}';

    let headers = new Headers();
    headers.append('Authorization', 'Basic ' + USERNAME + ":" + PASSWORD);

    {/* Fetch Method Here */}
    fetch(API, {method: 'GET', headers: headers })
    .then(response => response.json())
    .then(json => console.log(json));
    }

    function parseJSON(response) {
    return response.json()
    }
    </script>


    If anyone can offer any hints, that would be great.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to return some data from an API using the Fetch method, but I'm getting a 400 error. I'm probably missing something obvious, but I've been at this for so long I probably can't see the wood for the trees.



      <script type="text/javascript">
      function getJSON() {
      const API = 'https://API-URL-ENDPOINT';
      const QUERY = 'sample-query';
      const A_KEY = '{API Key}';
      const A_SEC = '{API Secret}';

      let headers = new Headers();
      headers.append('Authorization', 'Basic ' + USERNAME + ":" + PASSWORD);

      {/* Fetch Method Here */}
      fetch(API, {method: 'GET', headers: headers })
      .then(response => response.json())
      .then(json => console.log(json));
      }

      function parseJSON(response) {
      return response.json()
      }
      </script>


      If anyone can offer any hints, that would be great.










      share|improve this question













      I'm trying to return some data from an API using the Fetch method, but I'm getting a 400 error. I'm probably missing something obvious, but I've been at this for so long I probably can't see the wood for the trees.



      <script type="text/javascript">
      function getJSON() {
      const API = 'https://API-URL-ENDPOINT';
      const QUERY = 'sample-query';
      const A_KEY = '{API Key}';
      const A_SEC = '{API Secret}';

      let headers = new Headers();
      headers.append('Authorization', 'Basic ' + USERNAME + ":" + PASSWORD);

      {/* Fetch Method Here */}
      fetch(API, {method: 'GET', headers: headers })
      .then(response => response.json())
      .then(json => console.log(json));
      }

      function parseJSON(response) {
      return response.json()
      }
      </script>


      If anyone can offer any hints, that would be great.







      javascript api web






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 20 at 15:57









      daz-wuk

      102




      102
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          As written in the docs for the Authorization header, you need to encode it in base64.



          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization



          So try headers.append('Authorization', 'Basic ' + btoa( USERNAME + ":" + PASSWORD ));






          share|improve this answer



















          • 1




            The word Basic doesn't get encoded
            – charlietfl
            Nov 20 at 16:11










          • Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
            – Shilly
            Nov 20 at 16:15











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396862%2fbad-request-when-calling-api-using-fetch-method-in-javascript%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          As written in the docs for the Authorization header, you need to encode it in base64.



          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization



          So try headers.append('Authorization', 'Basic ' + btoa( USERNAME + ":" + PASSWORD ));






          share|improve this answer



















          • 1




            The word Basic doesn't get encoded
            – charlietfl
            Nov 20 at 16:11










          • Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
            – Shilly
            Nov 20 at 16:15















          up vote
          1
          down vote



          accepted










          As written in the docs for the Authorization header, you need to encode it in base64.



          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization



          So try headers.append('Authorization', 'Basic ' + btoa( USERNAME + ":" + PASSWORD ));






          share|improve this answer



















          • 1




            The word Basic doesn't get encoded
            – charlietfl
            Nov 20 at 16:11










          • Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
            – Shilly
            Nov 20 at 16:15













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          As written in the docs for the Authorization header, you need to encode it in base64.



          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization



          So try headers.append('Authorization', 'Basic ' + btoa( USERNAME + ":" + PASSWORD ));






          share|improve this answer














          As written in the docs for the Authorization header, you need to encode it in base64.



          https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization



          So try headers.append('Authorization', 'Basic ' + btoa( USERNAME + ":" + PASSWORD ));







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 20 at 16:14

























          answered Nov 20 at 16:04









          Shilly

          5,1981616




          5,1981616








          • 1




            The word Basic doesn't get encoded
            – charlietfl
            Nov 20 at 16:11










          • Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
            – Shilly
            Nov 20 at 16:15














          • 1




            The word Basic doesn't get encoded
            – charlietfl
            Nov 20 at 16:11










          • Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
            – Shilly
            Nov 20 at 16:15








          1




          1




          The word Basic doesn't get encoded
          – charlietfl
          Nov 20 at 16:11




          The word Basic doesn't get encoded
          – charlietfl
          Nov 20 at 16:11












          Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
          – Shilly
          Nov 20 at 16:15




          Thanks, fixed. Typos can even sneak into Basic questions if you're in a hurry. ;)
          – Shilly
          Nov 20 at 16:15


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396862%2fbad-request-when-calling-api-using-fetch-method-in-javascript%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          To store a contact into the json file from server.js file using a class in NodeJS

          Redirect URL with Chrome Remote Debugging Android Devices

          Dieringhausen