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. How to connect via API?
Forum Updated to NodeBB v4.3 + New Features

How to connect via API?

Scheduled Pinned Locked Moved Solved General and Desktop
66 Posts 8 Posters 15.2k Views 3 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.
  • sierdzioS Offline
    sierdzioS Offline
    sierdzio
    Moderators
    wrote on last edited by
    #2

    Add QT += network to your .pro file, run qmake and rebuild your project.

    (Z(:^

    1 Reply Last reply
    3
    • M Offline
      M Offline
      Mikeeeeee
      wrote on last edited by
      #3

      Thanks, corrected. What's next?

      sierdzioS 1 Reply Last reply
      0
      • M Mikeeeeee

        Thanks, corrected. What's next?

        sierdzioS Offline
        sierdzioS Offline
        sierdzio
        Moderators
        wrote on last edited by
        #4

        @Mikeeeeee said in How to connect via API?:

        Thanks, corrected. What's next?

        That's up to you to figure out.

        (Z(:^

        1 Reply Last reply
        2
        • M Offline
          M Offline
          Mikeeeeee
          wrote on last edited by
          #5

          @sierdzio said in How to connect via API?:

          That's up to you to figure out.

          I would like to get something like this: https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo

          There is only this:

              QNetworkRequest request;
              request.setUrl(QUrl("https://  &???"));
          
              apiQuery.get(request);
          
          1 Reply Last reply
          0
          • sierdzioS Offline
            sierdzioS Offline
            sierdzio
            Moderators
            wrote on last edited by
            #6

            Well you can just put that URL into setUrl() call, should work.

            Alternatively, you can build the QUrl manually, and add relevant parameters using QUrlQuery.

            (Z(:^

            1 Reply Last reply
            3
            • M Offline
              M Offline
              Mikeeeeee
              wrote on last edited by
              #7

              @sierdzio said in How to connect via API?:

              Well you can just put that URL into setUrl() call, should work.
              Alternatively, you can build the QUrl manually, and add relevant parameters using QUrlQuery.

              I did this:

                  QNetworkRequest request;
                  request.setUrl(QUrl("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo"));
              
                  apiQuery.get(request);
              

              How to get and read json now?

              sierdzioS 1 Reply Last reply
              0
              • M Mikeeeeee

                @sierdzio said in How to connect via API?:

                Well you can just put that URL into setUrl() call, should work.
                Alternatively, you can build the QUrl manually, and add relevant parameters using QUrlQuery.

                I did this:

                    QNetworkRequest request;
                    request.setUrl(QUrl("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo"));
                
                    apiQuery.get(request);
                

                How to get and read json now?

                sierdzioS Offline
                sierdzioS Offline
                sierdzio
                Moderators
                wrote on last edited by
                #8

                @Mikeeeeee said in How to connect via API?:

                @sierdzio said in How to connect via API?:

                Well you can just put that URL into setUrl() call, should work.
                Alternatively, you can build the QUrl manually, and add relevant parameters using QUrlQuery.

                I did this:

                    QNetworkRequest request;
                    request.setUrl(QUrl("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo"));
                
                    apiQuery.get(request);
                

                How to get and read json now?

                See the docs.

                (Z(:^

                1 Reply Last reply
                2
                • M Offline
                  M Offline
                  Mikeeeeee
                  wrote on last edited by
                  #9

                  @Mikeeeeee said in How to connect via API?:

                  I did this:

                  I made this code and got an error: invalid application of 'sizeof' to incomplete type 'QNetworkReply'
                  Q_STATIC_ASSERT_X(sizeof(T), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined");

                  MainWindow::MainWindow(QWidget *parent) :
                      QMainWindow(parent),
                      ui(new Ui::MainWindow)
                  {
                      ui->setupUi(this);
                  
                      connect(apiQuery, &QNetworkAccessManager::finished, this, &MainWindow::testSlotFromQDebug);
                  }
                  
                  MainWindow::~MainWindow()
                  {
                      delete ui;
                  }
                  
                  void MainWindow::on_testButton_clicked()
                  {
                      QNetworkRequest request;
                      request.setUrl(QUrl("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo"));
                  
                      apiQuery->get(request);
                  }
                  
                  void MainWindow::testSlotFromQDebug()
                  {
                      qDebug()<<"point1";
                  }
                  
                  
                  1 Reply Last reply
                  0
                  • sierdzioS Offline
                    sierdzioS Offline
                    sierdzio
                    Moderators
                    wrote on last edited by
                    #10

                    This should help:

                    #include <QNetworkReply>
                    

                    (Z(:^

                    1 Reply Last reply
                    4
                    • M Offline
                      M Offline
                      Mikeeeeee
                      wrote on last edited by
                      #11

                      Thanks, earned. I receive a response signal. But theoretically, a json file should come in response to the request. Please tell me how you can open the response data, read it, and then delete it if it is not deleted by itself.

                      Pablo J. RoginaP 1 Reply Last reply
                      0
                      • M Mikeeeeee

                        Thanks, earned. I receive a response signal. But theoretically, a json file should come in response to the request. Please tell me how you can open the response data, read it, and then delete it if it is not deleted by itself.

                        Pablo J. RoginaP Offline
                        Pablo J. RoginaP Offline
                        Pablo J. Rogina
                        wrote on last edited by
                        #12

                        @Mikeeeeee Internet searching is your friend... maybe this example could help you.

                        Upvote the answer(s) that helped you solve the issue
                        Use "Topic Tools" button to mark your post as Solved
                        Add screenshots via postimage.org
                        Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                        1 Reply Last reply
                        3
                        • M Offline
                          M Offline
                          Mikeeeeee
                          wrote on last edited by
                          #13

                          This example is not working.

                          1 Reply Last reply
                          0
                          • VRoninV Offline
                            VRoninV Offline
                            VRonin
                            wrote on last edited by
                            #14

                            delete connect(apiQuery, &QNetworkAccessManager::finished, this, &MainWindow::testSlotFromQDebug);

                            then:

                            void MainWindow::on_testButton_clicked()
                            {
                                QNetworkRequest request;
                                request.setUrl(QUrl("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo"));
                            QNetworkReply* reply = apiQuery->get(request)
                                connect(reply ,&QNetworkReply::finished,this,std::bind(&MainWindow::on_reply,this,reply ));
                            }
                            void MainWindow::on_reply(QNetworkReply* reply){
                            QJsonDocument jdoc = QJsonDocument::fromJson(reply->readAll());
                            // do something with the jdoc
                            }
                            

                            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                            ~Napoleon Bonaparte

                            On a crusade to banish setIndexWidget() from the holy land of Qt

                            1 Reply Last reply
                            1
                            • M Offline
                              M Offline
                              Mikeeeeee
                              wrote on last edited by
                              #15

                              Qt says: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
                              I have api-key: 63YUZ8NP5SW1D302
                              How can I use the key?

                              1 Reply Last reply
                              0
                              • VRoninV Offline
                                VRoninV Offline
                                VRonin
                                wrote on last edited by VRonin
                                #16

                                Qt says: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed

                                Make sure you have OpenSSL installed

                                I have api-key: 63YUZ8NP5SW1D302
                                How can I use the key?

                                RTFM: https://www.alphavantage.co/documentation/

                                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                ~Napoleon Bonaparte

                                On a crusade to banish setIndexWidget() from the holy land of Qt

                                1 Reply Last reply
                                2
                                • M Offline
                                  M Offline
                                  Mikeeeeee
                                  wrote on last edited by
                                  #17

                                  @VRonin said in How to connect via API?:

                                  OpenSSL

                                  This link is nothing about OpenSSL.
                                  OpenSSL need to connect to the project?

                                  1 Reply Last reply
                                  0
                                  • VRoninV Offline
                                    VRoninV Offline
                                    VRonin
                                    wrote on last edited by
                                    #18

                                    Qt uses OpenSSL to implement TLS and SSL

                                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                    ~Napoleon Bonaparte

                                    On a crusade to banish setIndexWidget() from the holy land of Qt

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      Mikeeeeee
                                      wrote on last edited by
                                      #19

                                      I installed everything in MaintenanceTool. Do I need to download additional OpenSSL?
                                      If you need to install OpenSSL, then how to connect it to Qt?

                                      SGaistS VRoninV 2 Replies Last reply
                                      0
                                      • M Mikeeeeee

                                        I installed everything in MaintenanceTool. Do I need to download additional OpenSSL?
                                        If you need to install OpenSSL, then how to connect it to Qt?

                                        SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #20

                                        Hi,

                                        @Mikeeeeee said in How to connect via API?:

                                        I installed everything in MaintenanceTool. Do I need to download additional OpenSSL?
                                        If you need to install OpenSSL, then how to connect it to Qt?

                                        What OS are you on ? My guess would be Windows.

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

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

                                          My OS - Windows.

                                          sierdzioS 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