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.4k 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.
  • 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
                              • M Mikeeeeee

                                My OS - Windows.

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

                                @Mikeeeeee said in How to connect via API?:

                                My OS - Windows.

                                https://stackoverflow.com/questions/20351155/how-can-i-enable-ssl-in-qt-windows-application

                                (Z(:^

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

                                  downloaded openssl-1.1.1b and put it in the folder with the executable file. Did not help.
                                  In openssl-1.1.1b there is no libeay32.dll.

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

                                    There is a file e_os.h in the main folder of the library .

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

                                      What version of Qt are you using ?

                                      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
                                      1
                                      • 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?

                                        VRoninV Offline
                                        VRoninV Offline
                                        VRonin
                                        wrote on last edited by
                                        #26

                                        @Mikeeeeee said in How to connect via API?:

                                        I installed everything in MaintenanceTool

                                        Terrible idea

                                        "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
                                          #27

                                          I use Qt 5.12.2

                                          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