node.js - 如何使用 fetch API 在 nodejs 中使用 Twitter 的搜索 API?
问题描述
我正在尝试在 nodejs 中使用 Twitter 的搜索 API。我知道它有 3rd 方库,但我正在尝试使用fetch
. 这是我的代码:
const fetch = require('fetch');
const url = `https://api.twitter.com/1.1/search/tweets.json`
const options = {
outputEncoding: 'utf-8',
headers: {
q: 'cbd',
consumer_key: '****',
consumer_secret: '****',
access_token: '****',
access_token_secret: '****',
}
}
fetch.fetchUrl(url, options, (err, meta, data) => {
if(err) console.log(err)
console.log(data)
})
我对钥匙的去向感到困惑。我已将它们放入通话options
中fetch
,但我不确定它是否应该放在此处。我在这里收到“错误的身份验证数据”错误。任何帮助,将不胜感激。
解决方案
您需要使用以下内容。
var fetchUrl = require("fetch").fetchUrl;
fetchUrl('https://api.twitter.com/1.1/search/tweets.json?q=from%3Atwitterdev&result_type=mixed&count=2',
{
headers: {
authorization: `Oauth-generated-key`
}
}, (err, meta, body) => {
if (err) {
console.log('error', err);
return false;
}
console.log('body', body.toString());
console.log('meta', meta);
}
)
您可以替换Oauth-generated-key
为
OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog",
oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg",
oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D",
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1569222858",
oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb",
oauth_version="1.0"
推荐阅读
- amazon-web-services - 如何在另一个 lambda 之后执行 AWS lambda
- android-studio - 文件菜单中缺少 Android Studio 项目结构项
- c++ - 指针:读取访问冲突 - 为什么?
- sql - 当我还需要选择时如何在子字符串中使用选择?
- javascript - 数据是如何从 java 脚本传递到 php 的?
- mysql - 需要帮助更新 MySQL 中具有重复值的记录
- json - Gson 在转换为 json 时再次转义转义序列 - Android
- wordpress - 如何保存放置到 PluginDocumentSettingPanel 中的复选框的状态
- reactjs - 如何更新 React Redux 状态
- javascript - 从父级向子级发射对象