1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Importing necessary libraries
// import { config } from "https://deno.land/x/dotenv/mod.ts";
// Load environment variables from .env file
// config({ export: true });
// Twitter API endpoint for user tweets
const endpointUrl = "https://api.twitter.com/2/tweets";
// Twitter API bearer token
const bearerToken = Deno.env.get("twitter");
if (!bearerToken) {
console.error("Please set your Twitter API Bearer Token in the environment variables.");
Deno.exit(1);
}
// Function to fetch tweets from a user
export async function getTweets(username: string) {
const userUrl = `https://api.twitter.com/2/users/by/username/${username}`;
const userResponse = await fetch(userUrl, {
headers: {
"Authorization": `Bearer ${bearerToken}`,
},
});
if (!userResponse.ok) {
console.error("Error fetching user data:", await userResponse.text());
return;
}
const userData = await userResponse.json();
const userId = userData.data.id;
const tweetsUrl = `https://api.twitter.com/2/users/${userId}/tweets`;
const tweetsResponse = await fetch(tweetsUrl, {
headers: {
"Authorization": `Bearer ${bearerToken}`,
},
});
if (!tweetsResponse.ok) {
console.error("Error fetching tweets:", await tweetsResponse.text());
return;
}
const tweetsData = await tweetsResponse.json();
// console.log("tweetsData", tweetsData);
return tweetsData;
}
// Replace 'stevekrouse' with the username you want to fetch tweets for
getTweets("stevekrouse");
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
June 12, 2024