
Research
/Security News
11 Malicious Go Packages Distribute Obfuscated Remote Payloads
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
twitter-api-sdk-fork
Advanced tools
A TypeScript SDK for the Twitter API. This library is built with TypeScript developers in mind, but it also works with JavaScript.
Note: This SDK is in beta and is not ready for production
You can find examples of using the client in the examples/ directory
Note: Only Twitter API V2 is supported
npm install twitter-api-sdk
To setup the client we will authenticate with a bearer-token as follows
import { Client } from "twitter-api-sdk";
const client = new Client("MY-BEARER-TOKEN");
For more information about authentication go here
import { Client } from "twitter-api-sdk";
const client = new Client(process.env.BEARER_TOKEN);
async function main() {
const stream = client.tweets.sampleStream({
"tweet.fields": ["author_id"],
});
for await (const tweet of stream) {
console.log(tweet.data?.author_id);
}
}
main();
import { Client } from "twitter-api-sdk";
const client = new Client(process.env.BEARER_TOKEN);
async function main() {
const tweet = await client.tweets.findTweetById("20");
console.log(tweet.data.text);
}
main();
For endpoints that return a stream you get sent back an Async Generator which you can iterate over:
const stream = client.tweets.sampleStream();
for await (const tweet of stream) {
console.log(tweet.data.text);
}
For endpoints that have pagination you can
const followers = client.users.usersIdFollowers("20");
for await (const page of followers) {
console.log(page.data);
}
// This also works
const followers = await client.users.usersIdFollowers("20");
console.log(followers.data);
This library supports App-only Bearer Token and OAuth 2.0
You can see various examples on how to use the authentication in examples/
Make sure you to turn on OAuth2 in your apps user authentication settings, and set the type of app to be a confidential client (Web App or Automated App or Bot).
const authClient = new auth.OAuth2User({
client_id: process.env.CLIENT_ID,
client_secret: process.env.CLIENT_SECRET,
callback: "http://127.0.0.1:3000/callback",
scopes: ["tweet.read", "users.read", "offline.access"],
});
const client = new Client(authClient);
const authUrl = authClient.generateAuthURL({
code_challenge_method: "s256",
});
Once the user has approved the OAuth flow, you will receive a code
query parameter at the callback URL you specified.
await authClient.requestAccessToken(code);
const response = await authClient.revokeAccessToken();
FAQs
A TypeScript SDK for the Twitter API
We found that twitter-api-sdk-fork demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).