ошибка: метод должен быть строкой, пользовательский навык Alexa - PullRequest
0 голосов
/ 24 августа 2018

при выполнении запроса REST API POST с использованием nodejs в пользовательском навыке Alexa с использованием "Alexa Skill Kit" (среда AWS Lambda nodejs). это мой код внутри index.js

   'use strict';
   const Alexa = require('alexa-sdk');
   const request = require('sync-request');

   'validateClientIntent': function() {
          var json = {
            "clientID": "xxxxx6EF-9D05-49CE-855C-C41CED4A83B5",
            "appKey": "D/xxxxxxxxisFSMMzAbntGsrNf0yX6aafNqoyi8="
        };
        var options = {
        url: 'http://link',
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            json: json
        };
        //var method = "POST";
        //options = JSON.parse(options);
        try {
            request(options, function(err, res, body) {
                if (res && (res.statusCode === 200 || res.statusCode === 
        201)) {
                    //var body = JSON.parse(body);
                    var trackingId = body;
                    //console.log(trackingId);
                    //return trackingId;
                    this.response.speak(trackingId);
                }
                else {
                    throw (err);
                }
            });
        }
        catch (err) {
            this.response.speak(err);

        }
        this.emit(':responseReady');
    },

1 Ответ

0 голосов
/ 24 августа 2018

в этом я использую 'sync-request', поэтому используйте метод ниже, как указано в 'https://www.npmjs.com/package/sync-request'

var request = require('sync-request');

var res = request('POST', 'https://example.com/create-user', {
   json: {username: 'ForbesLindesay'},
});

var user = JSON.parse(res.getBody('utf8'));
...