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.
  • JonBJ JonB

    @ali-aydin Look in your web server's documentation.

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

    @JonB
    API's documentation?

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

      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 1 Reply Last reply
      0
      • 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

                                          • Login

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