Need help youtube APIs with qt
-
Basically, you need to send some HTTP request using e.g. QNetworkAccessManager, then parse the received data.
For example, if you send a HTTP GET request like this:
@http://gdata.youtube.com/feeds/api/videos?q=football+-soccer&orderby=published&start-index=11&max-results=10&v=2@You can get a ATOM-formatted reply, containing the query result, from which you can parse e.g. the URL of the content and thumbnail, etc., then you can send another request to get the data.
-
-
doforumda, here goes some basic samples to send some request:
@class MyObject : public QObject
{
Q_OBJECT
public:
explicit MyObject(QObject *parent = 0);private slots:
void processReply();
};MyObject::MyObject(QObject *parent) :
QObject(parent)
{
QNetworkAccessManager *nam = new QNetworkAccessManager(this);QNetworkRequest request; request.setUrl(QUrl("http://gdata.youtube.com/feeds/api/videos?q=football&orderby=published&max-results=1&v=2")); QNetworkReply *reply = nam->get(request); connect(reply, SIGNAL(finished()), SLOT(processReply()));
}
void MyObject::processReply()
{
QNetworkReply *reply = static_cast<QNetworkReply *>(sender());if (reply->error() != QNetworkReply::NoError) { qDebug() << "Error found: " << reply->error(); return; } QByteArray content = reply->readAll(); qDebug() << content; // Here, you can use, e.g. QXmlStreamReader, to parse the received content reply->deleteLater();
}@