How to connect to Alexa (AVS) API?
I'm writing an Qt application and try to use Alexa API. I received access token, but I can't use API because of "Host not found"
and "Connection closed"
.
My QNetworkAccessManager
defined as
amazonHelper.data()->setNetworkAccessManager(
view.data()->engine()->networkAccessManager());
...
void AmazonHelper::setNetworkAccessManager(QNetworkAccessManager *qnam) {
qDebug() << "setNetworkAccessManager()";
_manager = qnam;
connect(_manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)));
}
After executing
_manager->connectToHostEncrypted("https://avs-alexa-na.amazon.com");
I receive an error "Host not found"
.
After executing
QNetworkRequest request(QUrl("https://avs-alexa-na.amazon.com/v20160207/directives"));
request.setRawHeader("Authorization", "Bearer %1" + _accessToken.toUtf8());
_manager->get(request);
I receive an error "Connection closed"
.
What is a right way to use Amazon Alexa API?
Thanks in advance!
P.S. I didn't find any actual C++ libraries. I found node-http2 library fo JS, but I don't want to use full stack of node.js in the app.
UPD1:
I found QNetworkRequest::SpdyAllowedAttribute
in Qt documentation but when I tried to set this attribute I got the follow error: 'SpdyAllowedAttribute' is not a member of 'QNetworkRequest'
UPD2:
I tried to use libcurlcpp
but after setting CURLOPT_HTTP_VERSION
to CURL_HTTP_VERSION_2_0
got exception (https://github.com/JosephP91/curlcpp/issues/84)
If you do a nslookup from terminal on the phone to the same address what is the result?
tortoisedoc ( 2016-06-12 07:27:16 +0200 )edit@tortoisedoc My phone does not have
Ósanwe ( 2016-06-12 09:36:19 +0200 )editnslookup
and I did not find it viapkcon
.ping
for both addresses returnsunknown host
. But I receive JSON reply after opening them in Google Chrome. Standard Sailfish browser downloads*.exe
from these addresses.@Osanwe -
Spam Hunter ( 2016-06-13 12:00:34 +0200 )editpkcon install bind-utils
- contains nslookup.@tortoisedoc@Markkyboy I got the follow ouput: http://pastebin.com/9uJ9Zbvk UPD: Also tried
Ósanwe ( 2016-06-13 12:59:14 +0200 )editcurl
: http://pastebin.com/txPUzUj8drop the
Spam Hunter ( 2016-06-13 13:22:32 +0200 )edithttps://
part of the address and try again.