我试图使用twitter-api-v2来查询twitter,使用他们的速率限制示例
import dotenv from 'dotenv'
import { TwitterApi } from 'twitter-api-v2';
import { TwitterApiRateLimitPlugin } from '@twitter-api-v2/plugin-rate-limit'
dotenv.config()
const API_KEY = process.env.TWITTER_API_KEY;
const API_SECRET = process.env.TWITTER_API_SECRET;
const BEARER_TOKEN = process.env.BEARER_TOKEN;
const rateLimitPlugin = new TwitterApiRateLimitPlugin()
// Instantiate with desired auth type (here's Bearer v2 auth)
const twitterClient = new TwitterApi(process.env.BEARER_TOKEN, { plugins: [rateLimitPlugin] });
//const twitterClient = new TwitterApi({ appKey: API_KEY, appSecret: API_SECRET }, { plugins: [rateLimitPlugin] });
await twitterClient.v2.me()
const currentRateLimitForMe = await rateLimitPlugin.v2.getRateLimit('users/me')
console.log(currentRateLimitForMe.limit) // 75
console.log(currentRateLimitForMe.remaining) // 74我收到一个错误:
“不支持身份验证:仅对此端点禁止使用OAuth 2.0应用程序进行身份验证。受支持的身份验证类型为OAuth 1.0a用户上下文、OAuth 2.0用户上下文。”
我猜我的登录方式有问题,我尝试过承载和使用我的API密钥,两者似乎都不起作用。
如何获得利率限制信息?
发布于 2022-12-01 03:15:11
我不确定是否是这样,但是当我登录到开发人员门户时,我看到了我可以创建的另一部分键,我以前所做的一切都是在只读模式下进行的。
这是完整的代码。
const twitterClient = new TwitterApi({
appKey: API_KEY,
appSecret: API_SECRET,
accessToken: ACCESS_TOKEN_KEY,
accessSecret: ACCESS_TOKEN_SECRET
}, { plugins: [rateLimitPlugin] })
await twitterClient.v2.me()
const currentRateLimitForMe = await rateLimitPlugin.v2.getRateLimit('users/me')
console.log(`rate limit: ${currentRateLimitForMe.limit} remaining: ${currentRateLimitForMe.remaining}`) https://stackoverflow.com/questions/74621955
复制相似问题