Вызов внешнего API с использованием Nodejs, Express и запроса - PullRequest
0 голосов
/ 27 апреля 2020

Итак, я создаю небольшое веб-приложение, которое принимает топи поиска c и делает запрос в Twitter, чтобы извлечь все твиты из топи c, предоставленных пользователем. У меня есть Vuejs интерфейс, который отправляет запрос ax ios на nodejs сервер. На этом nodejs сервере я хочу сделать запрос на вызов в твиттер. Моя проблема очень похожа на Внешние вызовы API с Express, Node.JS и Требуется модуль

Однако решение, предоставленное там, не работает в моем случае. Вот что у меня есть

сервер. js

const http = require('http');
const port = 3007;
const app = require('./index');
const server = http.createServer(app);
server.listen(port);

index. js

const express = require('express');
const router = express.Router();
const cheerio = require('cheerio');
const request = require('request');

router.get('/', function(req, res, next) {
    var query = req.body.query
    const url = "https://twitter.com/hashtag/" + query + "?src=hash";
    request(url, function(err, res, body) {
        if(err){
            console.log("error: " + err);
        } else {
            let $ = cheerio.load(body);
            $('li.stream-item').each(function(index) {
                var name = $(this).find('.fullname').text();
                var tweet = $(this).find('p.tweet-text').text();
                console.log('user: ' + name);
                console.log('tweet: ' + tweet);
            });
        }
    }).pipe(res);
});

Когда выполняется запрос от Vue, эта ошибка генерируется на сервере узла.

Cannot read property 'apply' of undefined 

Я не совсем уверен, куда я иду, правильно или неправильно. Я все еще учусь, как все это работает. Если бы кто-нибудь мог указать мне правильное направление, это было бы очень признательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...