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?
QtWS25 Last Chance

How to connect via API?

Scheduled Pinned Locked Moved Solved General and Desktop
66 Posts 8 Posters 11.5k Views
  • 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
    15 May 2019, 09:29

    @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?

    S Offline
    S Offline
    sierdzio
    Moderators
    wrote on 15 May 2019, 10:00 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 15 May 2019, 11:15 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
      • S Offline
        S Offline
        sierdzio
        Moderators
        wrote on 15 May 2019, 11:19 last edited by
        #10

        This should help:

        #include <QNetworkReply>
        

        (Z(:^

        1 Reply Last reply
        4
        • M Offline
          M Offline
          Mikeeeeee
          wrote on 15 May 2019, 15:08 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.

          P 1 Reply Last reply 15 May 2019, 17:33
          0
          • M Mikeeeeee
            15 May 2019, 15:08

            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.

            P Offline
            P Offline
            Pablo J. Rogina
            wrote on 15 May 2019, 17:33 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 17 May 2019, 13:36 last edited by
              #13

              This example is not working.

              1 Reply Last reply
              0
              • V Offline
                V Offline
                VRonin
                wrote on 17 May 2019, 13:46 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 17 May 2019, 14:11 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
                  • V Offline
                    V Offline
                    VRonin
                    wrote on 17 May 2019, 14:14 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 17 May 2019, 14:54 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
                      • V Offline
                        V Offline
                        VRonin
                        wrote on 17 May 2019, 15:48 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 17 May 2019, 19:06 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?

                          S V 2 Replies Last reply 17 May 2019, 19:31
                          0
                          • M Mikeeeeee
                            17 May 2019, 19:06

                            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?

                            S Offline
                            S Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on 17 May 2019, 19:31 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 18 May 2019, 08:12 last edited by
                              #21

                              My OS - Windows.

                              S 1 Reply Last reply 18 May 2019, 09:38
                              0
                              • M Mikeeeeee
                                18 May 2019, 08:12

                                My OS - Windows.

                                S Offline
                                S Offline
                                sierdzio
                                Moderators
                                wrote on 18 May 2019, 09:38 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 18 May 2019, 10:32 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 18 May 2019, 13:26 last edited by
                                    #24

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

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on 18 May 2019, 20:18 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
                                        17 May 2019, 19:06

                                        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?

                                        V Offline
                                        V Offline
                                        VRonin
                                        wrote on 19 May 2019, 07:59 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 19 May 2019, 08:05 last edited by
                                          #27

                                          I use Qt 5.12.2

                                          1 Reply Last reply
                                          0

                                          17/66

                                          17 May 2019, 14:54

                                          49 unread
                                          • Login

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