gpt4 book ai didi

javascript - 类型错误:参数 url 必须是字符串,而不是对象

转载 作者:行者123 更新时间:2023-12-03 02:56:04 25 4
gpt4 key购买 nike

遇到这个错误,但我很困惑为什么会收到它,因为我在 twitterClient.get 中使用的 url 是一个字符串。我尝试过更改端口并重新启动计算机,以及搜索任何语法错误,但均无济于事。任何帮助将不胜感激!

'use strict';

const express = require('express'),
request = require('request'),
twitter = require('twitter'),
aryMod = require('./resources/modules/objectArrayMod.js'),
app = express();

app.set('view engine', 'pug');
app.set('views', './views');

app.use(express.json());
app.use(express.urlencoded({
extended: true
}));

app.use(express.static('resources'));

app.get('/', function(req, res) {

let twitterClient = new twitter({
consumer_key: '//////',
consumer_secret: '//////',
access_token_key: '//////',
access_token_secret: '//////'
});

twitterClient.get({
url: 'https://api.twitter.com/1.1/search/tweets.json',
qs: {
q: '#csc365'
},
json: true
}, function(err, response, body) {
let tweetAry = [];

for(let i = 0; i < body.statuses.length; i++) {
let object = body.statuses[i];
let text = unescapeText(object.text);

if(text !== ''){
let repSent = text.replace(/[^a-zA-Z ]/gi, ''),
lSent = repSent.toLowerCase(),
sentenceAry = lSent.split(' '),
numOfAnagrams = 0;

for(i = 0; i < sentenceAry.length; i++){
sentenceAry[i] = sentenceAry[i].split('').sort().join();
}

for(i = 0; i < sentenceAry.length; i++){
let anagram = false;

if(sentenceAry[i] !== -1){
for(let j = i + 1; j < sentenceAry.length; j++){
if(sentenceAry[j] !== -1){
if(sentenceAry[j] === sentenceAry[i]){
numOfAnagrams++;
sentenceAry[j] = -1;
anagram = true;
}
}
}
}

if(anagram){
numOfAnagrams++;
}

sentenceAry[i] = -1;

tweetAry.push({
text: text,
anaScore: numOfAnagrams
});
}
}
}

aryMod.aryOfObjects(tweetAry);

if (!err) {
res.render('twitter', { aryMod: aryMod });
}
else {
console.error(err);
}
});
});

let unescapeText = function(escTxt) {
return escTxt.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&');
};

const server = app.listen(3000, function () {
console.log(`Started server on port ${server.address().port}`);
});

该服务器应该做的是动态使用包含特定主题标签的推文,计算每条推文的字谜数量,其中一个单独的 AJAX 文件进入并将它们加载到页面,让您单击它们,并记录分数这些推文中的字谜词数量

最佳答案

查看node-twitter 文档,似乎您应该使用 url 字符串作为第一个参数来调用 twitter.get(),然后 then 包含您的参数的对象,如下所示:twitterClient.get('搜索/推文', params, function(err, response, body) {...})

以下是他们文档中的示例,介绍如何使用 Node 客户端搜索推文:

client.get('search/tweets', {q: 'node.js'}, function(error, tweets, response) {
console.log(tweets);
});

关于javascript - 类型错误:参数 url 必须是字符串,而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com