Skip to content

Commit 3356e06

Browse files
committed
update env variables for oatuh2
1 parent eaf703b commit 3356e06

File tree

5 files changed

+110
-74
lines changed

5 files changed

+110
-74
lines changed

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,19 @@ Sign up at the [X Developer Portal](https://developer.x.com/en/portal/dashboard)
2424

2525
### 2. Set Environment Variables
2626

27+
**For read-only operations (search, lookup):**
2728
```bash
2829
export BEARER_TOKEN='your_bearer_token'
30+
```
31+
32+
**For user actions (post, like, repost, bookmark, etc.):**
33+
```bash
34+
export CLIENT_ID='your_client_id'
35+
export CLIENT_SECRET='your_client_secret'
36+
```
37+
38+
**For OAuth 1.0a (legacy endpoints):**
39+
```bash
2940
export CONSUMER_KEY='your_consumer_key'
3041
export CONSUMER_SECRET='your_consumer_secret'
3142
```
@@ -72,8 +83,8 @@ java -cp ".:lib/*" RecentSearchDemo
7283
| Type | Use Case | Env Vars |
7384
|------|----------|----------|
7485
| Bearer Token | Read-only (search, lookup) | `BEARER_TOKEN` |
75-
| OAuth 1.0a | User actions (post, like) | `CONSUMER_KEY`, `CONSUMER_SECRET` |
76-
| OAuth 2.0 PKCE | Bookmarks, newer endpoints | OAuth flow |
86+
| OAuth 2.0 PKCE | User actions (post, like, repost, bookmark, mute, etc.) | `CLIENT_ID`, `CLIENT_SECRET` |
87+
| OAuth 1.0a | Legacy endpoints (if applicable) | `CONSUMER_KEY`, `CONSUMER_SECRET` |
7788

7889
## 🤖 For LLMs
7990

java/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,19 @@ Using Maven, add to your `pom.xml`:
3131

3232
### 3. Set environment variables
3333

34-
For **Bearer Token** authentication (app-only):
34+
**For read-only operations (search, lookup):**
3535
```bash
3636
export BEARER_TOKEN='your_bearer_token'
3737
```
3838

39+
**For user actions (post, like, repost, bookmark, etc.):**
40+
```bash
41+
export CLIENT_ID='your_client_id'
42+
export CLIENT_SECRET='your_client_secret'
43+
```
44+
45+
**Note:** Most user action examples require OAuth 2.0 authentication with `CLIENT_ID` and `CLIENT_SECRET`. Read-only examples (search, lookup) only require `BEARER_TOKEN`.
46+
3947
## Examples by Category
4048

4149
### Posts

javascript/README.md

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -16,75 +16,77 @@ No package.json is required. Examples use Node.js built-in modules or standard l
1616

1717
### 3. Set environment variables
1818

19-
For **Bearer Token** authentication (app-only):
19+
**For read-only operations (search, lookup):**
2020
```bash
2121
export BEARER_TOKEN='your_bearer_token'
2222
```
2323

24-
For **OAuth 1.0a** authentication (user context):
24+
**For user actions (post, like, repost, bookmark, mute, etc.):**
2525
```bash
26-
export CONSUMER_KEY='your_consumer_key'
27-
export CONSUMER_SECRET='your_consumer_secret'
26+
export CLIENT_ID='your_client_id'
27+
export CLIENT_SECRET='your_client_secret'
2828
```
2929

30+
**Note:** Most user action examples (create post, like, repost, bookmark, mute, block, etc.) require OAuth 2.0 authentication with `CLIENT_ID` and `CLIENT_SECRET`. Read-only examples (search, lookup) only require `BEARER_TOKEN`.
31+
3032
## Examples by Category
3133

3234
### Posts
33-
- `posts/create_post.js` - Create a new post
34-
- `posts/delete_post.js` - Delete a post
35-
- `posts/get_liking_users.js` - Get users who liked a post
35+
- `posts/create_post.js` - Create a new post (requires `CLIENT_ID`, `CLIENT_SECRET`)
36+
- `posts/delete_post.js` - Delete a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
37+
- `posts/get_liking_users.js` - Get users who liked a post (requires `CLIENT_ID`, `CLIENT_SECRET` for user context)
3638
- `posts/get_post_counts_all.js` - Get post counts (full archive)
3739
- `posts/get_post_counts_recent.js` - Get post counts (recent)
3840
- `posts/get_posts_by_ids.js` - Look up posts by ID (bearer token)
39-
- `posts/get_posts_by_ids_user_context.js` - Look up posts by ID (user context)
41+
- `posts/get_posts_by_ids_user_context.js` - Look up posts by ID (user context) (requires `CLIENT_ID`, `CLIENT_SECRET`)
4042
- `posts/get_quoted_posts.js` - Get posts that quote a post
4143
- `posts/get_reposted_by.js` - Get users who reposted a post
4244
- `posts/search_all.js` - Full archive search
4345
- `posts/search_recent.js` - Recent search (last 7 days)
4446

4547
### Users
4648
- `users/get_users_by_usernames.js` - Look up users by username (bearer token)
47-
- `users/get_users_by_usernames_user_context.js` - Look up users by username (user context)
48-
- `users/get_users_me.js` - Get authenticated user (me)
49+
- `users/get_users_by_usernames_user_context.js` - Look up users by username (user context) (requires `CLIENT_ID`, `CLIENT_SECRET`)
50+
- `users/get_users_me.js` - Get authenticated user (me) (requires `CLIENT_ID`, `CLIENT_SECRET`)
4951

5052
#### User Actions - Block
51-
- `users/block/get_blocking.js` - Get users blocked by a user
53+
- `users/block/get_blocking.js` - Get users blocked by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
5254

5355
#### User Actions - Bookmark
54-
- `users/bookmark/create_bookmark.js` - Create a bookmark
55-
- `users/bookmark/delete_bookmark.js` - Delete a bookmark
56-
- `users/bookmark/get_bookmarks.js` - Get user's bookmarks
56+
- `users/bookmark/create_bookmark.js` - Create a bookmark (requires `CLIENT_ID`, `CLIENT_SECRET`)
57+
- `users/bookmark/delete_bookmark.js` - Delete a bookmark (requires `CLIENT_ID`, `CLIENT_SECRET`)
58+
- `users/bookmark/get_bookmarks.js` - Get user's bookmarks (requires `CLIENT_ID`, `CLIENT_SECRET`)
5759

5860
#### User Actions - Follow
5961
- `users/follow/get_followers.js` - Get user's followers
6062
- `users/follow/get_followers_paginated.js` - Get user's followers (paginated)
6163
- `users/follow/get_following_paginated.js` - Get users a user is following (paginated)
6264

6365
#### User Actions - Like
64-
- `users/like/get_liked_posts.js` - Get posts liked by a user
65-
- `users/like/like_post.js` - Like a post
66-
- `users/like/unlike_post.js` - Unlike a post
66+
- `users/like/get_liked_posts.js` - Get posts liked by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
67+
- `users/like/like_post.js` - Like a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
68+
- `users/like/unlike_post.js` - Unlike a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
6769

6870
#### User Actions - Lists
69-
- `users/lists/follow_list.js` - Follow a list
71+
- `users/lists/follow_list.js` - Follow a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
7072
- `users/lists/get_followed_lists.js` - Get lists followed by a user
7173
- `users/lists/get_list_memberships.js` - Get list memberships
7274
- `users/lists/get_owned_lists.js` - Get lists owned by a user
73-
- `users/lists/pin_list.js` - Pin a list
74-
- `users/lists/unfollow_list.js` - Unfollow a list
75-
- `users/lists/unpin_list.js` - Unpin a list
75+
- `users/lists/pin_list.js` - Pin a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
76+
- `users/lists/unfollow_list.js` - Unfollow a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
77+
- `users/lists/unpin_list.js` - Unpin a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
7678

7779
#### User Actions - Mute
78-
- `users/mute/get_muting.js` - Get users muted by a user
79-
- `users/mute/mute_user.js` - Mute a user
80-
- `users/mute/unmute_user.js` - Unmute a user
80+
- `users/mute/get_muting.js` - Get users muted by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
81+
- `users/mute/mute_user.js` - Mute a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
82+
- `users/mute/unmute_user.js` - Unmute a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
8183

8284
#### User Actions - Repost
83-
- `users/repost/repost_post.js` - Repost a post
84-
- `users/repost/unrepost_post.js` - Undo a repost
85+
- `users/repost/repost_post.js` - Repost a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
86+
- `users/repost/unrepost_post.js` - Undo a repost (requires `CLIENT_ID`, `CLIENT_SECRET`)
8587

8688
#### User Actions - Timeline
87-
- `users/timeline/get_home_timeline.js` - Get home timeline
89+
- `users/timeline/get_home_timeline.js` - Get home timeline (requires `CLIENT_ID`, `CLIENT_SECRET`)
8890
- `users/timeline/get_mentions.js` - Get user mentions timeline
8991
- `users/timeline/get_posts.js` - Get user's posts timeline
9092
- `users/timeline/get_posts_paginated.js` - Get user's posts timeline (paginated)
@@ -97,15 +99,15 @@ export CONSUMER_SECRET='your_consumer_secret'
9799
- `streams/stream_posts_sample.js` - Sampled stream
98100

99101
### Lists
100-
- `lists/add_member.js` - Add member to a list
101-
- `lists/create_list.js` - Create a new list
102-
- `lists/delete_list.js` - Delete a list
102+
- `lists/add_member.js` - Add member to a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
103+
- `lists/create_list.js` - Create a new list (requires `CLIENT_ID`, `CLIENT_SECRET`)
104+
- `lists/delete_list.js` - Delete a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
103105
- `lists/get_list_by_id.js` - Get list by ID
104106
- `lists/get_list_followers.js` - Get list followers
105107
- `lists/get_list_members.js` - Get list members
106108
- `lists/get_list_posts.js` - Get posts from a list
107-
- `lists/remove_member.js` - Remove member from a list
108-
- `lists/update_list.js` - Update a list
109+
- `lists/remove_member.js` - Remove member from a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
110+
- `lists/update_list.js` - Update a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
109111

110112
### Spaces
111113
- `spaces/get_spaces_by_ids.js` - Look up Spaces by ID

python/README.md

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,24 @@ The `requirements.txt` file includes:
1313

1414
## Environment Variables
1515

16+
**For read-only operations (search, lookup):**
1617
```bash
1718
export BEARER_TOKEN='your_bearer_token'
18-
export CONSUMER_KEY='your_consumer_key'
19-
export CONSUMER_SECRET='your_consumer_secret'
2019
```
2120

21+
**For user actions (post, like, repost, bookmark, mute, etc.):**
22+
```bash
23+
export CLIENT_ID='your_client_id'
24+
export CLIENT_SECRET='your_client_secret'
25+
```
26+
27+
**Note:** Most user action examples (create post, like, repost, bookmark, mute, block, etc.) require OAuth 2.0 authentication with `CLIENT_ID` and `CLIENT_SECRET`. Read-only examples (search, lookup) only require `BEARER_TOKEN`.
28+
2229
## Examples
2330

2431
### Posts
25-
- `posts/create_post.py` - Create a new post
26-
- `posts/delete_post.py` - Delete a post
32+
- `posts/create_post.py` - Create a new post (requires `CLIENT_ID`, `CLIENT_SECRET`)
33+
- `posts/delete_post.py` - Delete a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
2734
- `posts/get_liking_users.py` - Get users who liked a post
2835
- `posts/get_post_counts_all.py` - Get post counts (full archive)
2936
- `posts/get_post_counts_recent.py` - Get post counts (recent)
@@ -35,80 +42,80 @@ export CONSUMER_SECRET='your_consumer_secret'
3542

3643
### Users
3744
- `users/get_users_by_usernames.py` - Look up users by username (bearer token)
38-
- `users/get_users_by_usernames_user_context.py` - Look up user by username (user context)
39-
- `users/get_users_me.py` - Get authenticated user (me)
45+
- `users/get_users_by_usernames_user_context.py` - Look up user by username (user context) (requires `CLIENT_ID`, `CLIENT_SECRET`)
46+
- `users/get_users_me.py` - Get authenticated user (me) (requires `CLIENT_ID`, `CLIENT_SECRET`)
4047

4148
#### User Actions - Block
42-
- `users/block/get_blocking.py` - Get users blocked by a user
49+
- `users/block/get_blocking.py` - Get users blocked by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
4350

4451
#### User Actions - Bookmark
45-
- `users/bookmark/get_bookmarks.py` - Get user's bookmarks
46-
- `users/bookmark/create_bookmark.py` - Create a bookmark
47-
- `users/bookmark/delete_bookmark.py` - Delete a bookmark
52+
- `users/bookmark/get_bookmarks.py` - Get user's bookmarks (requires `CLIENT_ID`, `CLIENT_SECRET`)
53+
- `users/bookmark/create_bookmark.py` - Create a bookmark (requires `CLIENT_ID`, `CLIENT_SECRET`)
54+
- `users/bookmark/delete_bookmark.py` - Delete a bookmark (requires `CLIENT_ID`, `CLIENT_SECRET`)
4855

4956
#### User Actions - Follow
5057
- `users/follow/get_followers.py` - Get user's followers
5158
- `users/follow/get_following.py` - Get users a user is following
5259

5360
#### User Actions - Like
54-
- `users/like/get_liked_posts.py` - Get posts liked by a user
55-
- `users/like/like_post.py` - Like a post
56-
- `users/like/unlike_post.py` - Unlike a post
61+
- `users/like/get_liked_posts.py` - Get posts liked by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
62+
- `users/like/like_post.py` - Like a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
63+
- `users/like/unlike_post.py` - Unlike a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
5764

5865
#### User Actions - Lists
59-
- `users/lists/follow_list.py` - Follow a list
66+
- `users/lists/follow_list.py` - Follow a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
6067
- `users/lists/get_followed_lists.py` - Get lists followed by a user
6168
- `users/lists/get_list_memberships.py` - Get list memberships
6269
- `users/lists/get_owned_lists.py` - Get lists owned by a user
63-
- `users/lists/get_pinned_lists.py` - Get pinned lists
64-
- `users/lists/pin_list.py` - Pin a list
65-
- `users/lists/unfollow_list.py` - Unfollow a list
66-
- `users/lists/unpin_list.py` - Unpin a list
70+
- `users/lists/get_pinned_lists.py` - Get pinned lists (requires `CLIENT_ID`, `CLIENT_SECRET`)
71+
- `users/lists/pin_list.py` - Pin a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
72+
- `users/lists/unfollow_list.py` - Unfollow a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
73+
- `users/lists/unpin_list.py` - Unpin a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
6774

6875
#### User Actions - Mute
69-
- `users/mute/get_muting.py` - Get users muted by a user
70-
- `users/mute/mute_user.py` - Mute a user
71-
- `users/mute/unmute_user.py` - Unmute a user
76+
- `users/mute/get_muting.py` - Get users muted by a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
77+
- `users/mute/mute_user.py` - Mute a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
78+
- `users/mute/unmute_user.py` - Unmute a user (requires `CLIENT_ID`, `CLIENT_SECRET`)
7279

7380
#### User Actions - Repost
74-
- `users/repost/repost_post.py` - Repost a post
75-
- `users/repost/unrepost_post.py` - Undo a repost
81+
- `users/repost/repost_post.py` - Repost a post (requires `CLIENT_ID`, `CLIENT_SECRET`)
82+
- `users/repost/unrepost_post.py` - Undo a repost (requires `CLIENT_ID`, `CLIENT_SECRET`)
7683

7784
#### User Actions - Timeline
7885
- `users/timeline/get_mentions.py` - Get user mentions timeline
7986
- `users/timeline/get_posts.py` - Get user's posts timeline
80-
- `users/timeline/get_home_timeline.py` - Get home timeline
87+
- `users/timeline/get_home_timeline.py` - Get home timeline (requires `CLIENT_ID`, `CLIENT_SECRET`)
8188

8289
### Streams
8390
- `streams/stream_posts_filtered.py` - Filtered stream with rules
8491
- `streams/stream_posts_sample.py` - Sampled stream
8592

8693
### Lists
87-
- `lists/add_member.py` - Add member to a list
88-
- `lists/create_list.py` - Create a new list
89-
- `lists/delete_list.py` - Delete a list
94+
- `lists/add_member.py` - Add member to a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
95+
- `lists/create_list.py` - Create a new list (requires `CLIENT_ID`, `CLIENT_SECRET`)
96+
- `lists/delete_list.py` - Delete a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
9097
- `lists/get_list_by_id.py` - Get list by ID
9198
- `lists/get_list_followers.py` - Get list followers
9299
- `lists/get_list_members.py` - Get list members
93100
- `lists/get_list_posts.py` - Get posts from a list
94-
- `lists/remove_member.py` - Remove member from a list
95-
- `lists/update_list.py` - Update a list
101+
- `lists/remove_member.py` - Remove member from a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
102+
- `lists/update_list.py` - Update a list (requires `CLIENT_ID`, `CLIENT_SECRET`)
96103

97104
### Spaces
98105
- `spaces/get_spaces_by_ids.py` - Look up Spaces by ID
99106
- `spaces/search_spaces.py` - Search for Spaces
100107

101108
### Direct Messages
102-
- `direct_messages/get_events_by_conversation.py` - Get DM events by conversation
103-
- `direct_messages/get_one_to_one_conversation_events.py` - Get one-to-one conversation events
104-
- `direct_messages/get_user_conversation_events.py` - Get user conversation events
105-
- `direct_messages/post_dm_to_conversation.py` - Post DM to conversation
106-
- `direct_messages/post_group_conversation_dm.py` - Post group conversation DM
107-
- `direct_messages/post_one_to_one_dm.py` - Post one-to-one DM
109+
- `direct_messages/get_events_by_conversation.py` - Get DM events by conversation (requires `CLIENT_ID`, `CLIENT_SECRET`)
110+
- `direct_messages/get_one_to_one_conversation_events.py` - Get one-to-one conversation events (requires `CLIENT_ID`, `CLIENT_SECRET`)
111+
- `direct_messages/get_user_conversation_events.py` - Get user conversation events (requires `CLIENT_ID`, `CLIENT_SECRET`)
112+
- `direct_messages/post_dm_to_conversation.py` - Post DM to conversation (requires `CLIENT_ID`, `CLIENT_SECRET`)
113+
- `direct_messages/post_group_conversation_dm.py` - Post group conversation DM (requires `CLIENT_ID`, `CLIENT_SECRET`)
114+
- `direct_messages/post_one_to_one_dm.py` - Post one-to-one DM (requires `CLIENT_ID`, `CLIENT_SECRET`)
108115

109116
### Media
110-
- `media/media_upload_v2.py` - Media upload v2
111-
- `media/upload.py` - Media upload
117+
- `media/media_upload_v2.py` - Media upload v2 (requires `CLIENT_ID`, `CLIENT_SECRET`)
118+
- `media/upload.py` - Media upload (requires `CLIENT_ID`, `CLIENT_SECRET`)
112119

113120
### Compliance
114121
- `compliance/create_jobs.py` - Create compliance job

ruby/README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,25 @@ The `Gemfile` includes:
2828

2929
### 3. Set environment variables
3030

31-
For **Bearer Token** authentication (app-only):
31+
**For read-only operations (search, lookup):**
3232
```bash
3333
export BEARER_TOKEN='your_bearer_token'
3434
```
3535

36-
For **OAuth 1.0a** authentication (user context):
36+
**For user actions (post, like, repost, bookmark, etc.):**
37+
```bash
38+
export CLIENT_ID='your_client_id'
39+
export CLIENT_SECRET='your_client_secret'
40+
```
41+
42+
**For OAuth 1.0a (legacy endpoints):**
3743
```bash
3844
export CONSUMER_KEY='your_consumer_key'
3945
export CONSUMER_SECRET='your_consumer_secret'
4046
```
4147

48+
**Note:** Most user action examples require OAuth 2.0 authentication with `CLIENT_ID` and `CLIENT_SECRET`. Read-only examples (search, lookup) only require `BEARER_TOKEN`.
49+
4250
## Examples by Category
4351

4452
### Posts

0 commit comments

Comments
 (0)