Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
twitter-api-sdk
Advanced tools
Readme
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 turn on OAuth2 in your apps user authentication settings, and set the type of app to be either a confidential client or a public client.
const authClient = new auth.OAuth2User({
client_id: process.env.CLIENT_ID,
callback: "http://127.0.0.1:3000/callback",
scopes: ["tweet.read", "users.read", "offline.access"],
});
const client = new Client(authClient);
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();
Note this is only for developers who want to contribute code to the SDK
git clone https://github.com/twitterdev/twitter-api-typescript-sdk
Generating the SDK with the latest OpenAPI spec. The version is any valid SemVer version
yarn generate 1.0.0
Generating the SDK with a local OpenAPI specification file.
yarn generate 1.0.0 --specFile ~/path/to/file/openapi.json
The files generated are put in the src/gen directory, these files are not edited manually.
yarn build
yarn test
FAQs
A TypeScript SDK for the Twitter API
The npm package twitter-api-sdk receives a total of 17,940 weekly downloads. As such, twitter-api-sdk popularity was classified as popular.
We found that twitter-api-sdk 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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.