Spaces:
Sleeping
Sleeping
File size: 1,770 Bytes
f080be6 1d33c47 f5a5ce7 e5bd197 1d33c47 6638f01 2920981 6638f01 2920981 6638f01 f080be6 ea69880 e5bd197 57f43d4 e5bd197 ca9dcd2 57f43d4 6638f01 ea0d926 e5bd197 6638f01 f080be6 f5a5ce7 f080be6 |
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 55 56 57 58 59 60 |
import requests
import gradio as gr
import os
import json
import tweepy
bearer_token=os.environ["BEARER_KEY"]
consumer_key = os.environ["CONSUMER_KEY"]
consumer_secret = os.environ["CONSUMER_SECRET"]
access_token = os.environ["ACCESS_TOKEN"]
access_token_secret = os.environ["ACCESS_TOKEN_SECRET"]
client = tweepy.Client(
consumer_key=consumer_key, consumer_secret=consumer_secret,
access_token=access_token, access_token_secret=access_token_secret
)
def get_twitter_user_followers(user_id):
twitter_api_url = f"https://api.twitter.com/2/users/{user_id}"
user_ids = [2244994945, 6253282]
print(user_ids)
response = client.get_users(ids=user_ids, user_fields=["profile_image_url"])
print(response)
print(response.status_code)
print(response.text)
print(response.json())
for user in response.data:
print(user.username, user.profile_image_url)
if response.status_code == 200:
data = response.json()
if "data" in data:
return data["data"]["public_metrics"]["following_count"]
else:
raise Exception("Unable to retrieve user data")
else:
raise Exception("Failed to fetch user data")
def get_followers_counts(user_ids):
followers_counts = {}
for user_id in user_ids:
try:
followers_count = get_twitter_user_followers(user_id)
followers_counts[user_id] = followers_count
except Exception as e:
followers_counts[user_id] = str(e)
return followers_counts
def predict(user_ids_json):
user_ids = json.loads(user_ids_json)
followers_counts = get_followers_counts(user_ids)
return followers_counts
iface = gr.Interface(fn=predict, inputs="text", outputs="text")
iface.launch() |