-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathget_users_by_usernames.py
More file actions
40 lines (32 loc) · 1.16 KB
/
get_users_by_usernames.py
File metadata and controls
40 lines (32 loc) · 1.16 KB
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
"""
User Lookup - X API v2
======================
Endpoint: GET https://api.x.com/2/users/by
Docs: https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by
Authentication: Bearer Token (App-only) or OAuth (User Context)
Required env vars: BEARER_TOKEN
"""
import os
import json
from xdk import Client
bearer_token = os.environ.get("BEARER_TOKEN")
client = Client(bearer_token=bearer_token)
# Specify the usernames that you want to lookup (list, up to 100)
usernames = ["XDevelopers", "API"]
def main():
# User fields are adjustable, options include:
# created_at, description, entities, id, location, name,
# pinned_tweet_id, profile_image_url, protected,
# public_metrics, url, username, verified, and withheld
response = client.users.get_by_usernames(
usernames=usernames,
user_fields=["description", "created_at"]
)
# Access data attribute safely
response_data = getattr(response, 'data', None)
if response_data:
print(json.dumps(response_data, indent=4, sort_keys=True))
else:
print(json.dumps(response, indent=4, sort_keys=True))
if __name__ == "__main__":
main()