Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Sending parameters by get method to rest api
Forum Updated to NodeBB v4.3 + New Features

Sending parameters by get method to rest api

Scheduled Pinned Locked Moved Solved General and Desktop
40 Posts 5 Posters 5.4k Views 2 Watching
  • 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.
  • M mchinand

    I think you have to add 'Basic ' before your token when you set the Authorization header (or 'Bearer ' if you are doing bearer token auth). If things are working in Postman, check the 'Headers' tab of your request as to what is the actual value being sent for the Authorization.

    ali-aydinA Offline
    ali-aydinA Offline
    ali-aydin
    wrote on last edited by ali-aydin
    #22

    @mchinand
    Bearer must be added to the token.
    in postman there is no header
    in authorization tab
    only added token and in parameters tab is only one parameter :KalaCode
    in body tab username,password and grant_type
    in the qt when I want to authenticate by

    QUrl url("http://localhost:594444/api/authenticate");
    

    it returns "Hello"
    but when i changing url to

    QUrl url("http://localhost:594444/api/Getmojodi" );
    

    it does not work

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mchinand
      wrote on last edited by mchinand
      #23

      I meant the 'Headers' tab of the Postman request:
      b0973db6-0abc-4a60-9d8e-5e0955d007f9-image.png

      The authorization header value above was automatically set when I added a (junk) username and password in the Auth tab:

      a33e651c-8868-47c3-b96e-f7569e008cc0-image.png

      ali-aydinA 1 Reply Last reply
      0
      • M mchinand

        I meant the 'Headers' tab of the Postman request:
        b0973db6-0abc-4a60-9d8e-5e0955d007f9-image.png

        The authorization header value above was automatically set when I added a (junk) username and password in the Auth tab:

        a33e651c-8868-47c3-b96e-f7569e008cc0-image.png

        ali-aydinA Offline
        ali-aydinA Offline
        ali-aydin
        wrote on last edited by
        #24

        @mchinand
        there is no problem in postman
        problem is that how can we do authorization in qt?
        i think yhe main problem is this

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mchinand
          wrote on last edited by
          #25

          Are you setting the Authorization the same in Qt as the value it is set in Postman? Your variables are 'basic_authorization' and 'token', is token just the token or is the token type prepended to it ('Basic ' or 'Bearer ')? Your variable is 'basic_authorization' but in your prior message, you mention adding 'Bearer' before the token, which auth method are you using?

          ali-aydinA 1 Reply Last reply
          0
          • M mchinand

            Are you setting the Authorization the same in Qt as the value it is set in Postman? Your variables are 'basic_authorization' and 'token', is token just the token or is the token type prepended to it ('Basic ' or 'Bearer ')? Your variable is 'basic_authorization' but in your prior message, you mention adding 'Bearer' before the token, which auth method are you using?

            ali-aydinA Offline
            ali-aydinA Offline
            ali-aydin
            wrote on last edited by
            #26

            @mchinand
            i'm using url.setRawHeader() for add token to url and
            and adding bearer to token
            i don't use any auth method
            how to use that?

            M 1 Reply Last reply
            0
            • ali-aydinA ali-aydin

              @mchinand
              i'm using url.setRawHeader() for add token to url and
              and adding bearer to token
              i don't use any auth method
              how to use that?

              M Offline
              M Offline
              mchinand
              wrote on last edited by
              #27

              Are you doing Basic (username/password) or Bearer Token? What method are you selecting in Postman? What is the value of your token variable, post the string but modify the actual token part.

              ali-aydinA 1 Reply Last reply
              0
              • M mchinand

                Are you doing Basic (username/password) or Bearer Token? What method are you selecting in Postman? What is the value of your token variable, post the string but modify the actual token part.

                ali-aydinA Offline
                ali-aydinA Offline
                ali-aydin
                wrote on last edited by
                #28

                @mchinand
                in postman i selected bearer method
                and token has three part access_ token,token_type and expire_date
                in qt i added "bearer" to access_token then adding this token to url.setRawHeader()

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mchinand
                  wrote on last edited by
                  #29

                  What is the value of your token variable, post the string but modify the actual token part.

                  ali-aydinA 1 Reply Last reply
                  0
                  • M mchinand

                    What is the value of your token variable, post the string but modify the actual token part.

                    ali-aydinA Offline
                    ali-aydinA Offline
                    ali-aydin
                    wrote on last edited by ali-aydin
                    #30

                    @mchinand
                    this is token file

                    {
                       "access_token": "1zVIXlpahfvS82xJEN2l2L7vPaUvX-AqHD5w_JmrSqHtV_hHdk6dKqdyFx6D62p1jPIcPPMdlVlsOlS4ZcoVUcsnrzTv8Ly42OLINofJYfdkVoitAQGdCzX7vYlnWBYNrxAOsMJiCdbjvONC2MftONA_hxhcsf8D3ax24buIupEkqPUoaBWUd6nx7HTx3Axo8ZdHZhM48SS68CczY-EDVUTDQSvYxv_4gQCxf_uWPuTrjTF2jwCbLfrCmhK7O_WJ07XmV-PYTj2jV7E35CpeFtx6W_FePFlhzim9qLv",
                       "token_type": "bearer",
                       "expires_in": 86399
                    }
                    
                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mchinand
                      wrote on last edited by
                      #31

                      Try

                      QString token = <access_token from file>
                      token.prepend("Bearer ");
                      req1.setRawHeader(QByteArrayLiteral("Authorization"), token.toUtf8());
                      

                      I don't think you want the 'toBase64()' that you have in your code above.

                      ali-aydinA 1 Reply Last reply
                      0
                      • M mchinand

                        Try

                        QString token = <access_token from file>
                        token.prepend("Bearer ");
                        req1.setRawHeader(QByteArrayLiteral("Authorization"), token.toUtf8());
                        

                        I don't think you want the 'toBase64()' that you have in your code above.

                        ali-aydinA Offline
                        ali-aydinA Offline
                        ali-aydin
                        wrote on last edited by
                        #32

                        @mchinand
                        nop it is not ok

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #33

                          Check the request sent by postman and the one from your application and compare for differences.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          ali-aydinA 1 Reply Last reply
                          1
                          • SGaistS SGaist

                            Check the request sent by postman and the one from your application and compare for differences.

                            ali-aydinA Offline
                            ali-aydinA Offline
                            ali-aydin
                            wrote on last edited by
                            #34

                            @SGaist
                            yes good idea

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mchinand
                              wrote on last edited by
                              #35

                              Be sure to compare the url, body, and header (also, be sure to look at the auto-generated headers in Postman which are hidden by default). Are you extracting the token correctly from your file? Have you debugged that part of your code? You did not include that with your original post.

                              ali-aydinA 2 Replies Last reply
                              0
                              • M mchinand

                                Be sure to compare the url, body, and header (also, be sure to look at the auto-generated headers in Postman which are hidden by default). Are you extracting the token correctly from your file? Have you debugged that part of your code? You did not include that with your original post.

                                ali-aydinA Offline
                                ali-aydinA Offline
                                ali-aydin
                                wrote on last edited by ali-aydin
                                #36

                                @mchinand
                                error body is :
                                Error transferring http://localhost:59444/api/Getmojodi?KalaCode=20101010131310 - server replied: Forbidden
                                and ststus code is :403
                                and hidden headers in postman :
                                Untitled21.png

                                1 Reply Last reply
                                0
                                • M mchinand

                                  Be sure to compare the url, body, and header (also, be sure to look at the auto-generated headers in Postman which are hidden by default). Are you extracting the token correctly from your file? Have you debugged that part of your code? You did not include that with your original post.

                                  ali-aydinA Offline
                                  ali-aydinA Offline
                                  ali-aydin
                                  wrote on last edited by ali-aydin
                                  #37

                                  @mchinand
                                  @JonB
                                  @SGaist
                                  @Axel-Spoerl
                                  Thank you everyone without your help I could not resolve that.
                                  Thank you so much

                                  ali-aydinA 1 Reply Last reply
                                  0
                                  • ali-aydinA ali-aydin

                                    @mchinand
                                    @JonB
                                    @SGaist
                                    @Axel-Spoerl
                                    Thank you everyone without your help I could not resolve that.
                                    Thank you so much

                                    ali-aydinA Offline
                                    ali-aydinA Offline
                                    ali-aydin
                                    wrote on last edited by
                                    #38

                                    @ali-aydin
                                    this problem solution :
                                    request must be in this shape :

                                    QUrl url("http://localhost:59444/api/Getmojodi");
                                        
                                        request.setRawHeader(QByteArrayLiteral("Authorization"),token.toUtf8());
                                        request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
                                        request.setRawHeader(QByteArrayLiteral("User-Agent"),"ApiTest2/1.0");
                                        request.setRawHeader(QByteArrayLiteral("Accept"),"*/*");
                                        request.setRawHeader(QByteArrayLiteral("Accept-Encoding"),"gzip, deflate, br");
                                        request.setRawHeader(QByteArrayLiteral("Connection"),"keep-alive");
                                        request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
                                        QUrlQuery uq;
                                        uq.addQueryItem("KalaCode","20101010131310");
                                        url.setQuery(uq);
                                        request.setUrl(url);
                                        manager->get(request);
                                    
                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #39

                                      The user agent is likely not needed in your case.

                                      I think that you essentially need Content-Type and Accept-Encoding beside Authorization.

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      ali-aydinA 1 Reply Last reply
                                      0
                                      • SGaistS SGaist

                                        The user agent is likely not needed in your case.

                                        I think that you essentially need Content-Type and Accept-Encoding beside Authorization.

                                        ali-aydinA Offline
                                        ali-aydinA Offline
                                        ali-aydin
                                        wrote on last edited by
                                        #40

                                        @SGaist
                                        Thank you I will check it

                                        1 Reply Last reply
                                        0

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved