How to connect via API?
-
Hi!
How to connect via API?
I want to connect to alphavantage.co
I do this:QNetworkAccessManager apiQuery; QNetworkRequest request; request.setUrl(QUrl("https:// &???")); apiQuery.get(request);
What and how to finish?
-
Add
QT += network
to your .pro file, run qmake and rebuild your project. -
@Mikeeeeee said in How to connect via API?:
Thanks, corrected. What's next?
That's up to you to figure out.
-
@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);
-
@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?
-
@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.
-
@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"; }
-
This should help:
#include <QNetworkReply>
-
@Mikeeeeee Internet searching is your friend... maybe this example could help you.
-
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 }
-
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? -
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.